web-dev-qa-db-ja.com

SQL Server Management Studio 2014でデータベース名を変更

「ip_ent_site」というデータベースがあります。そして、たとえば「ip_ent_site1」に名前を変更したいと思います。

enter image description here

右クリックして名前を変更しましたが、失敗し続けています。これはエラーメッセージです。

enter image description here

誰でも助けることができますか?

37
user4939121

これは、開いているトランザクションがあるためです。それらのトランザクションを強制終了できる場合、これはこのSQLで簡単に実行できます。

ALTER DATABASE ip_ent_site
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
sp_rename 'ip_ent_site', 'new_db_name' ,'DATABASE';
GO
ALTER DATABASE new_db_name
SET MULTI_USER
GO
37
Raj

名前を変更する前に、データベースをシングルユーザーモードに設定します [〜#〜] msdn [〜#〜]

USE master;
GO
ALTER DATABASE ip_ent_site
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;

その後、名前を変更します

USE master
GO
ALTER DATABASE ip_ent_site
Modify Name = ip_ent_site1
GO

そして、マルチユーザーモードに戻します

ALTER DATABASE ip_ent_site1
SET MULTI_USER;
17
sqluser

その理由は、データベースの名前を変更している間、データベースがデータベースへの他の接続/トランザクションを防止する必要があるためです。

Dbをロックする簡単なスクリプト:

ALTER DATABASE [ip_ent_site] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

ALTER DATABASE [ip_ent_site] MODIFY NAME = [ip_ent_site_new]
GO

ALTER DATABASE [ip_ent_site_new] SET MULTI_USER;    
GO
13
Ranbeer M

次の機能を有効にするには

右クリックして名前を変更

dB:

  1. すべてのクエリウィンドウを閉じる
  2. DBを右クリックして名前を変更
5
Danny Mahoney

以下のクエリを実行

使用マスター;
GO
sp_renamedb @dbname = 'old_name'、@ newname = 'new_name'

1
Developer_29

これは、データベース名を変更する最も簡単な方法です。このコマンドを実行する前に、すべてのクエリウィンドウを閉じたことを確認してください。

EXEC sp_renamedb 'old_Name'、 'new_Name'

1
Sachin Pakale

これを試してください、それは動作します。

ALTER DATABASE GWPRD_CMCC-古いデータベース名

SET SINGLE_USER WITH ROLLBACK IMMEDIATE

GO ALTER DATABASE GWPRD_CMCC-古いデータベース名

MODIFY NAME = GWPRD_CMCC_1 --new db name

GO ALTER DATABASE GWPRD_CMCC_1-新しいデータベース名SET MULTI_USER GO

0
Pani

「論理ファイル名」も変更すべきではありませんか?

ALTER DATABASE [testdb] MODIFY FILE (NAME=N'testdbold ', NEWNAME=N'testdb') GO ALTER DATABASE [testdb] MODIFY FILE (NAME=N'testdbold', NEWNAME=N'testdb_log') GO

0
Khan

クエリを使用してSQLDatabase名を変更する

[master] goを使用します

データベースの変更Old_database_name名前の変更= New_database_name

または

sp_renameDB 'old_dbname'、 'new_dbname'

0

システムプロシージャの実行sp_who2データベースを使用するセッションを見つけて、アプリケーションを閉じるか、 kill コマンドでセッションを終了します。

0
Igor Borisenko