MS SQL修改資料庫名稱

2022-09-21 21:00:29 字數 1532 閱讀 8883

在ms sql中,如果你想修改某乙個資料庫的名稱,你可以通過下面幾種方法實現。

語法:sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'

例子: 我需要將資料庫test_1的名稱修改為test

use master

goexec sp_renamedb @dbname='test_1', @newname='test';

go

有時候執行該指令碼,會報如下錯誤:

訊息 5030,級別 16,狀態 2,第 1 行

無法用排他鎖鎖定該資料庫,以執行該操作。

出現這種情況,主要是還有其它程式或使用者連線資料庫,你必須確保沒有任何使用者正在使用資料庫. 可以通過將資料庫設定為單使用者模式。在資料庫屬性——》「連線」選擇裡面找到限制訪問「選項,選擇sigle_user選項。然後執行上面語句,即可修改資料庫名稱。

當然也可以用指令碼解決這個問題,查詢看看當前有哪些會話連線到這個資料庫,如果沒有記錄,則可直接執行上面指令碼。

select spid from master.dbo.sysprocesses w where dbid=db_id('test1');
否則執行kill命令殺掉這些會話程序。

kill spid
下面這個指令碼可以比較好的處理上面問題,不需要你做過多額外操作,直接用指令碼完成任務。

use master    

exec sp_dboption @dbname='olddbname', @optname= 'single user',@optvalue= 'true'

exec sp_renamedb @dbname='olddbname', @newname= 'newdbname'

exec sp_dboption @dbname='newdbname', @optname= 'single user', @optvalue='false'

go

檢查修改成功。

select name, database_id

from sys.databases

where name = n'dbname';

注意:sql server 2008後續版本的 microsoft sql server 將刪除該功能。請避免在新的開發工作中使用該功能,並著手修改當前還在使用該功能的應用程式。

use master;

goalter database test1 modify name = test;

go

使用microsoft sql server managment studio管理工具,選中要修改名稱的資料test1,單擊右鍵,選擇」重新命名」;注意如果有其他使用者會話連線該資料庫則會報錯,必須先殺掉那些會話程序或使資料庫處於單使用者模式下,再執行上面操作,否則會報錯。

修改資料庫名稱

use master go 建立資料庫 create database db on name db filename d db.mdf go 重新命名資料庫 exec sp renamedb db,dbt go 從伺服器中分離資料庫 exec sp detach db dbt go 重新命名資料庫檔...

sql server修改資料庫名稱

use master go 修改資料庫名稱 alter database hroa i set single user with rollback immediate goexec master.sp renamedb hroa i hp oa goalter database hp oa set ...

修改資料庫名稱 邏輯名稱 物理名稱

在測試環境,我們可能需要換庫,但又不想改配置裡資料庫的名稱,又不想刪除之前的資料。這時候,我們可以把原來的資料庫名稱改掉,作為乙個備份。但是,只是改資料庫名稱,是不行的,要經過三個步驟,才能完全將該庫變成其它名稱的庫。sql server 語句如下 修改資料庫名稱 邏輯名稱 物理名稱 檢視當前資料庫...