操作系统重装、应用系统移植 经常要面临一个 数据库的移植,那么其实有很多方法可以做,这里我介绍一种简便的方法。
以数据库:test2010,访问用户:user2010,访问密码:pass2010 为例
1、停止mssql。
2、将数据文件(.mdf)和日志文件(.ldf)备份下来。
3、将备份的2个文件存放在新环境上,假设路径为D:\MSSQL\test2010.mdf和D:\MSSQL\test2010.ldf
4、将下面的脚本运行即可。
use [master]
GO
EXEC sp_attach_db @dbname = 'test2010',
@filename1 = 'D:\MSSQL\test2010.mdf',
@filename2 = 'D:\MSSQL\test2010.ldf'
GO
use [test2010]
GO
if not exists (select * from master.dbo.syslogins where loginname = N'user2010')
BEGIN
declare @logindb nvarchar(132), @loginlang nvarchar(132) select @logindb = N'master', @loginlang = N'简体中文'
if @logindb is null or not exists (select * from master.dbo.sysdatabases where name = @logindb)
select @logindb = N'master'
if @loginlang is null or (not exists (select * from master.dbo.syslanguages where name = @loginlang) and @loginlang <> N'us_english')
select @loginlang = @@language
exec sp_addlogin N'user2010', 'pass2010', @logindb, @loginlang
END
GO
if not exists (select * from dbo.sysusers where name = N'user2010')
EXEC sp_grantdbaccess N'user2010', N'user2010'
GO
exec sp_addrolemember N'db_owner', N'user2010'
GO
exec sp_change_users_login 'UPDATE_ONE','user2010','user2010' -----重新关联登录和用户
GO
sp_changedbowner 'sa' ------防止用户孤立
[责任编辑:jumbot]