分离数据库Sql server Management Studio
-
在 SQL Server Management Studio 对象资源管理器中,连接到 SQL Server 数据库引擎的实例上,再展开该实例。
-
展开“数据库”,并选择要分离的用户数据库的名称。
-
分离数据库需要对数据库具有独占访问权限。如果数据库正在使用,则限制为只允许单个用户进行访问:
- 右键单击数据库名称并指向“属性”。
- 在“选择页”窗格中,选择“选项”。
- 在“其他选项”窗格中,向下滚动到“状态”选项。
- 选择“限制访问”选项,然后在其下拉列表中,选择“单用户”。
- 单击“确定”。
将出现一个消息框,通知您此操作将关闭所有到数据库的连接。若要继续,请单击“确定”。
- 右键单击数据库名称并指向“属性”。
-
右键单击数据库名称,指向“任务”,再单击“分离”。将出现“分离数据库”对话框。
-
“要分离的数据库”网格在“数据库名称”列中显示所选数据库的名称。验证这是否为要分离的数据库。
-
默认情况下,分离操作将在分离数据库时保留过期的优化统计信息;若要更新现有的优化统计信息,请选中“更新统计信息”复选框。
-
默认情况下,分离操作保留所有与数据库关联的全文目录。若要删除全文目录,请清除“保留全文目录”复选框。
-
“状态”列将显示当前数据库状态(“就绪”或者“未就绪”)。
如果状态是“未就绪”,则“消息”列将显示有关数据库的超链接信息。当数据库涉及复制时,“消息”列将显示Database replicated。数据库有一个或多个活动连接时,“消息”列将显示 <活动连接数> 个活动连接;例如,1 个活动连接。在可以分离数据列之前,必须选中“删除连接”复选框来断开与所有活动连接的连接。
若要获取有关消息的详细信息,请单击超链接。
-
分离数据库准备就绪后,请单击“确定”。
![]() |
---|
新分离的数据库将一直显示在对象资源管理器的“数据库”节点中,直到刷新该视图。可以随时刷新视图,方法是:单击对象资源管理器窗格,在菜单栏上,依次选择“视图”和“刷新”。 |
另一篇:
下面的示例通过使用 Transact-SQL 语句分离和附加数据库,将 SQL Server 2000 pubs 数据库升级为 SQL Server 2005 数据库。
- 将 SQL Server 2000 查询分析器连接到附加了 pubs 的服务器实例,并使用 sp_detach_db 存储过程分离数据库。
- 此示例的目的在于,使用您选择的方法将 pubs 文件(pubs.mdf 和 pubs_log.ldf)从 C:\Program Files\Microsoft SQL Server\MSSQL\Data\(这是 SQL Server 2000 中 pubs 的默认位置)复制到 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\(这是 SQL Server 2005 数据目录)。
重要提示:
对于生产数据库,请将数据库和事务日志存放在不同的磁盘上。 注意:
请使用远程位置的通用命名约定 (UNC) 名称,通过网络将文件复制到远程计算机上的磁盘中。UNC 名称采用以下格式:\\服务器名称\共享名称\路径\文件名。为了向本地硬盘中写入文件,SQL Server 使用的用户帐户必须被授予在远程磁盘上读取或写入文件所需的权限。 - 将复制的 pubs 数据库和(可选的)日志文件附加到 SQL Server 2005 实例(此示例使用相同的数据库名称)。在 SQL Server Management Studio 中,打开新的查询编辑器查询并连接到要附加该数据库的服务器实例。
注意:
有关详细信息,请参阅 SQL Server Management Studio Transact SQL 查询。
USE master; GO CREATE DATABASE pubs ON PRIMARY (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\pubs.mdf') LOG ON (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\pubs_log.ldf') FOR ATTACH; GO
注意:
在 SQL Server Management Studio 中,新附加的数据库在对象资源管理器中不是立即可见的。若要查看数据库,请单击“对象资源管理器”窗口,并选择“视图”>“刷新”。如果展开“数据库”节点,新附加的数据库现在就会显示在数据库列表中。 - (可选)使用 sp_attach_db 存储过程将原始 pubs 数据库重新附加到 SQL Server 2000 实例。在查询分析器中,输入以下语句:
USE master; Go EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'; GO