sql改資料庫名
被取消的命令MySQL 之前提供了一個 rename database db_old to db_new 的命令來直接對資料庫改名,可能由於實現的功能不完備(比如,這條命令可能是一個超大的事務,或者是由於之前的表很多還是 MyISAM 等),後來的版本直接取消了這條命令。更改資料庫名大致上有以下幾種方案:
一、mysqlmp 導入導出要說最簡單的方法,就是直接用 mysqlmp 工具,在舊庫導出再往新庫導入(最原始、最慢、最容易想到)的方法:舊庫 yttdb_old 導出(包含的對象:表、視圖、觸發器、事件、存儲過程、存儲函數)
二、改整庫的表名利用 MySQL 更改表名的方法來批量把舊庫的所有表依次遍歷,改名為新庫的表。這種方法比第一種要快很多倍,但是沒有第一步操作起來那麼順滑,不能一步到位。比如,要把資料庫 yttdb_old 改名為 yttdb_new,如果資料庫 yttdb_old 里只有磁碟表,那很簡單,直接改名即可。或者寫個腳本來批量改,非常簡單。但是一般舊庫里不只有磁碟表,還包含其他各種對象。這時候可以先考慮把舊庫的各種對象導出來,完了在逐一改完表名後導進去。
三、歷史方案其實在 MySQL 早期還有一種方法。假設 MySQL 部署好了後,所有的 binlog 都有備份,並且二進制日誌格式還是 statement 的話,那就可以簡單搭建一台從機,讓它慢慢追主機到新的庫名,等確切要更改舊庫的時候,再直接晉升從機為主機即可。這里只需要從機配置一個參數來把舊庫指向為新庫:replicate-rewrite-db=yttdb_old->yttdb_new不過這種局限性很大,不具備標准化,不推薦。
總結其實針對 MySQL 本身改庫名,大致就這么幾種方法:
如果數據量小,推薦第一種;
數據量大,則推薦第二種;
數據量巨大,那就非 MySQL 本身能解決的了。
可通過部署第三方 ETL 工具,通過解析 MySQL 二進制日誌或其他的方式來把舊庫數據直接讀取到新庫達到改名的目的等等。
2. 如何重命名sql資料庫
一、未使用的資料庫
改名方法如下:
1、未使用的資料庫改名比較方便,找到你要更改的資料庫,右鍵選擇【重命名】。
2、然後將你想要更改的名字寫好,然後點擊一下旁邊的空白欄。
3、然後你就發現資料庫的名稱已經改好了。
二、使用中的資料庫改名方法如下:
1、使用中的資料庫你在使用這種方法顯然是不合適,你用這種方法更改資料庫的名字之後會提示你無法重命名資料庫。
2、這時還是同樣的右鍵你要改名的資料庫,選擇【屬性】按鈕。
3、然後在資料庫屬性左側菜單欄中選擇【選項】按鈕。
4、然後在【狀態】欄目下有一項限制訪問選項,默認的是MULTI_USER,意為多用戶模式,然後你將其更改為【SINGLE_USER】單用戶模式,點擊確定即可。
5、然後你在使用上面的方法更改資料庫的名稱會發現資料庫改名成功了。
3. 可以通過SQL SERVER命令修改資料庫名稱及表的名稱
當然可以修改,可以使用alter database命令和alter table命令等進行看是否能夠更改。
4. 如何利用sql語句修改原資料庫的名字。
ALTER DATABASE [原資料庫名稱] MODIFY NAME = [新資料庫名稱] 注意確認資料庫無連接時修改。
5. 求問怎麼修改MS SQL資料庫名稱
方法一:使用SP_RENAMEDB系統存儲過程實現。
語法:sp_renamedb[@dbname=]'old_name',[@newname=]'new_name'
例子:我需要將資料庫Test_1的名稱修改為Testusemastergoexecsp_renamedb@dbname='Test_1',@
newname='Test';go
有時候執行該腳本,會報如下錯誤:
消息5030,級別16,狀態2,第1行
無法用排他鎖鎖定該資料庫,以執行該操作。
出現這種情況,主要是還有其它程序或用戶連接資料庫,你必須確保沒有任何用戶正在使用資料庫.可以通過將資料庫設置為單用戶模式。在資料庫屬性》連接選擇裡面找到限制訪問選項,選擇SIGLE_USER選項。然後執行上面語句,即可修改資料庫名稱。
SELECTSPIDFROMmaster.dbo.sysprocessesWWHEREdbid=DB_ID('Test1');
否則執行KILL命令殺掉這些會話進程。KILLSPID
下面這個腳本可以比較好的處理上面問題,不需要你做過多額外操作,直接用腳本完成任務。
usemasterexecsp_dboption@dbname='OldDbName',@
optname='SingleUser',@
optvalue='TRUE'
execsp_renamedb@dbname='OldDbName',@
newname='NewDbName'
execsp_dboption@dbname='NewDbName',@
optname='SingleUser',@
optvalue='FALSE'GO
檢查修改成功。
SELECTname,database_id
FROMsys.databasesWHEREname=N'DbName';
注意:SQLServer2008後續版本的MicrosoftSQLServer將刪除該功能。請避免在新的開發工作中使用該功能,並著手修改當前還在使用該功能的應用程序。
方法二:使用ALTERDATABASE語句修改資料庫名稱。
USEmaster;GO
6. 在sql中怎麼改資料庫的原始命名
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」圖標。
7. 在SQL sever資料庫中怎麼用查詢分析器修改資料庫名
我舉個例子吧:
以下示例將創建
Accounting
資料庫,然後將該資料庫的名稱更改為
Financial。然後,查詢
sys.databases
目錄視圖以確認資料庫的新名稱。
USE
master;
GO
CREATE
DATABASE
Accounting;
GO
EXEC
sp_renamedb
N'Accounting',
N'Financial';
GO
SELECT
name,
database_id,
modified_date
FROM
sys.databases
WHERE
name
=
N'Financial';
GO
8. sql資料庫如何重命名
1、首先需要從開始菜單中找到【SQL Server 配置管理器】。
9. SQL Server資料庫裡面怎麼修改資料庫的名字
其實在修改資料庫名稱之前,如果有用戶連接到資料庫的話會造成資料庫重命名失敗,可以先執行
select
spid
from
master.dbo.sysprocesses
where
dbid=db_id('OldDbName')
結果集中顯示的是當前連接到資料庫OldDbName的連接比如結果是7981當然,實際值應該不是這兩個然後執行kill
79kill
81關閉已建立的連接,之後再執行
EXEC
sp_dboption
'OldDbName',
'Single
User',
'TRUE'
EXEC
sp_renamedb
'OldDbName',
'NewDbName'
EXEC
sp_dboption
'NewDbName',
'Single
User',
'FALSE'
上述語句最好都在master資料庫中執行。
另外也可以這樣:
先分離資料庫,然後附加的時候再修改就可以了
SQL
Server不支持直接修改資料庫名稱
10. 如何更改SQL資料庫名稱
在查詢分析器里執行
sp_rename
'資料庫原來的名字','資料庫新名','database'
比如原來你的資料庫是db1
你想修改為db2則語句為
sp_rename
'db1','db2','database'