我有一个TestDB数据库,我把它重命名成功,
但是再创建TestDB就报错了,sp_rename 'TestDB', 'TestDB_drop'
Create Database 'TestDB'第一个执行成功了,
但是第二句执行报错!
消息 1802,级别 16,状态 4,第 1 行
CREATE DATABASE 失败。无法创建列出的某些文件名。请查看相关错误。
消息 5170,级别 16,状态 1,第 1 行
无法创建文件 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\TestDB.mdf',因为它已存在。请更改文件路径或文件名,然后重试此操作。
该怎么改正该错误?
但是再创建TestDB就报错了,sp_rename 'TestDB', 'TestDB_drop'
Create Database 'TestDB'第一个执行成功了,
但是第二句执行报错!
消息 1802,级别 16,状态 4,第 1 行
CREATE DATABASE 失败。无法创建列出的某些文件名。请查看相关错误。
消息 5170,级别 16,状态 1,第 1 行
无法创建文件 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\TestDB.mdf',因为它已存在。请更改文件路径或文件名,然后重试此操作。
该怎么改正该错误?
sp_renamedb
更改数据库的名称。语法
sp_renamedb [ @dbname = ] ' old_name ' ,
[ @newname = ] ' new_name '
参数
[ @dbname = ] ' old_name '
是数据库的当前名称。old_name 为 sysname 类型,无默认值。 [ @newname = ] ' new_name '
是数据库的新名称。new_name 必须遵循标识符规则。new_name 为 sysname 类型,无默认值。返回代码值
0 (成功)或非零数字(失败)权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行 sp_renamedb。示例
下例将数据库 accounting 改名为 financial。 EXEC sp_renamedb ' accounting ' , ' financial '
二、更改表名或列名 sp_rename [ @objname = ] ' object_name ' ,
[ @newname = ] ' new_name '
[ , [ @objtype = ] ' object_type ' ] /////////////////////////////////////////////
A. 重命名表
下例将表 customers 重命名为 custs。 EXEC sp_rename ' customers ' , ' custs '
B. 重命名列
下例将表 customers 中的列 contact title 重命名为 title。 EXEC sp_rename ' customers.[contact title] ' , ' title ' , ' COLUMN '
SQL 语句如下,大家可以执行试一下:create database [testdb]
sp_renamedb 'testdb', 'test00'
create database [testdb]
2、创建你的新的空db(testdb2);然后执行生成的sql脚本这样就可以建一个跟原来testdb一模一样的数据库testdb2了,而且testdb2不包含数据
如果你要把它的物理文件名也要改掉,看以下代码:
USE master
GO
BACKUP DATABASE pubs
TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\pubs.bak'
RESTORE FILELISTONLY
FROM DISK ='C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\pubs.bak'
RESTORE DATABASE pubs_Test
FROM DISK ='C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\pubs.bak'
WITH NORECOVERY,
MOVE 'pubs' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_Test_data.mdf',
MOVE 'pubs_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_Test_log.ldf'
GO
drop DATABASE pubs
go
Create DataBase pubs