[推荐]
(SqlServer)分离所有用户数据库
——通过知识共享树立个人品牌。
在实际应用中,有时我们需要一次性分离所有用户数据库,下面给出代码,供大家参考。
USE[master]
GO
IFEXISTS(SELECT*
FROMsys.objects
WHERE[object_id]=OBJECT_ID(N'[dbo].[spDetachAllUserDatabases]')
ANDtypeIN(N'P',N'PC'))
DROPPROCEDURE[dbo].[spDetachAllUserDatabases]
GO
CREATEPROCEDURE[dbo].[spDetachAllUserDatabases]
AS
BEGIN
--DeclareVariables
DECLARE@DatabaseNameVARCHAR(100)
DECLARE@MinDatabaseIDINT
DECLARE@MaxDatabaseIDINT
DECLARE@SQLVARCHAR(4000)
--Checkfortemporarytableanddropitifitexists
IFOBJECT_ID('tempDB.dbo.#Database')ISNOTNULL
DROPTABLE[#Database];
--Createtemporarytable
CREATETABLE#Database
(
IDINTIDENTITY(1,1),
DatabaseNameVARCHAR(100)
)
--Checkforexistinguserdatabases
IFEXISTS(SELECTname
FROMsys.databases
WHEREdatabase_id>4
ANDnameNOTIN('SQLDBA','ReportServer',
'ReportServerTempDB',
'distribution'))
BEGIN
--Insertalldatabasenamesintoatemporarytable
INSERTINTO#Database(DatabaseName)
SELECTname
FROMsys.databases
WHEREdatabase_id>4
ANDnameNOTIN('SQLDBA','ReportServer',
'ReportServerTempDB',
'distribution')
--SetVariablesforthedetachdatabaseloop
SELECT@MinDatabaseID=MIN(ID),
@MaxDatabaseID=MAX(ID)
FROM#Database
--Beginlooptodetachdatabases
WHILE@MinDatabaseID<=@MaxDatabaseID
BEGIN
--GetDatabaseName
SELECT@DatabaseName=DatabaseName
FROM#Database
WHEREID=@MinDatabaseID
--BuildDetachDatabaseCommand
SET@SQL='EXECsp_detach_db'+''''+@DatabaseName
+''''+';'
--TryCatchblocktoexecuteSQLandhandleerrors
BEGINTRY
--DetachDatabase
EXEC(@SQL
)
PRINT'Detached'+@DatabaseName
ENDTRY
BEGINCATCH
SELECT@DatabaseName,
message_id,
severity,
[text],
@SQL
FROMsys.messages
WHEREmessage_id=@@ERROR
ANDlanguage_id=1033--BritishEnglish
ENDCATCH
--GetthenextDatabaseNameID
SET@MinDatabaseID=@MinDatabaseID+1
--EndLoop
END
END
END
GO
© 2011
EricHu
原创作品,转贴请注明作者和出处,留此信息。
------------------------------------------------
cnBlobs:http://www.cnblogs.com/huyong/
CSDN:http://blog.csdn.net/chinahuyong
作者:EricHu(DB、C\S、B\S、WebService、WCF、PM等)
出处:http://www.cnblogs.com/huyong/
Q Q:80368704 E-Mail: 80368704@qq.com
本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。
更多文章请看[置顶]索引贴——(不断更新中)
分享到:
相关推荐
数据库系统概论 王珊 SPJ 数据库 手敲输入,SQL server 分离文件, 可以附加 数据库系统概论 王珊 SPJ 数据库 手敲输入,SQL server 分离文件, 可以附加 数据库系统概论 王珊 SPJ 数据库 手敲输入,SQL server 分离...
1、若依分离版本代码 2、数据由mysql变更为SqlServer 3、包含SqlServer数据库备份 4、下载用idea直接打开 5、启动方式和若依本身的启动顺序一样
vs2008实现了sql server 2005分离附加数据库的功能
在C#中分离SQL Server数据库
Sql Server 2005 数据库附加与分离
vbs批量分离数据库 SQLServer 2008,数据库名称数组名称、服务器名称需要根据实际情况赋值 VBS文件直接执行
支持SQL SERVER批量进行附加数据库和分离数据库的操作
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
分离SQL Server数据库.7z
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
在ASP.NET作业中,如何分离SQL Server数据库的工具
SQLSERVER的数据库分离和附加。
Sql_server_2005数据库的附加和分离
实现两个Sqlserver之间的数据库同步 对实时性有较高要求,数据同步延时尽量在1S之内 可以全库、单表、多表的数据同步 2. 读写分离 数据同步之后程序上就可以通过分别使用不同的DbContext实现程序上的读写分离 3. ...
C#分离SQLServer数据库
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
SQL Server 2000分离数据库,添加数据库的基本教程,附图
在网上看到的一个快速分离附加SQlserver 数据库文件的脚本。上传上来大家共享,一切版权归原作者,
根据该文档的教程,可以分离出SQL SERVER数据库,导出后的格式为mdf
sql server数据库配置,有兴趣看看吧