mudar o nome da base de dados no SQL server management studio 2014

Tenho uma base de dados chamada "ip_ent_site". E quero renomeá-lo para ip_ent_site1, por exemplo.

enter image description here

fiz o botão direito e renomeei, ele está a continuar a falhar. Esta é a mensagem de erro:

enter image description here

Alguém pode ajudar?

Author: Community, 2015-06-05

11 answers

Isso é porque há transacções abertas. Se essas transações podem ser mortas, então isso pode ser facilmente feito com este 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
 41
Author: Raj, 2015-06-05 07:03:16

Antes de mudar o nome, configure a base de dados para o modo de utilizador único MSDN

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

Então renomeia-o

USE master
GO
ALTER DATABASE ip_ent_site
Modify Name = ip_ent_site1
GO

E depois colocá - lo de volta no modo multi-utilizador

ALTER DATABASE ip_ent_site1
SET MULTI_USER;
 19
Author: sqluser, 2017-03-30 01:26:38

A razão é porque a base de dados tem de impedir qualquer outra ligação/transacção ao db enquanto o está a mudar de nome.

Um script simples para bloquear o 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
Author: Ranbeer M, 2016-06-13 09:30:20

Para permitir a capacidade de

Carregue com o botão direito e mude o nome

O DB:

  1. fechar todas as janelas de pesquisa
  2. carregue com o botão direito e mude o nome de DB
 5
Author: Danny Mahoney, 2016-11-08 22:51:36

Esta é a forma mais simples de mudar o nome da Base de dados. Certifique-se apenas de que fechou todas as janelas de pesquisa antes de executar este comando.

EXEC sp_renamedb 'old_Name','new_Name'

 1
Author: Sachin Pakale, 2016-07-22 09:00:06

Executar abaixo da pesquisa

Utilizar mestre;
GO
sp_renamedb @dbname = 'old_name', @newname = 'new_name'

 1
Author: Developer_29, 2018-03-13 19:10:31

Executar o procedimento do sistema {[[0]} para descobrir as sessões que usam a base de dados e depois fechar as aplicações ou matar as sessões com o comando kill.

 0
Author: Igor Borisenko, 2015-06-05 07:00:38

Mudar o nome do SQLDatabase usando o Query

Usar [mestre] go

Alterar a base de dados Old_ database_name modificar o nome = New_ database_name

Ou

Sp_renameDB 'old_ dbname','new_ dbname'

 0
Author: Md Ashikul Islam, 2017-07-31 20:09:46
Também não devíamos mudar o nome do ficheiro lógico?

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
Author: Khan, 2018-07-11 16:03:21
Por favor,tenta isto, vai funcionar.

Alterar a base de dados GWPRD_ CMCC -- Old db name

SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Vai. Alterar a base de dados GWPRD_ CMCC --Old db name
MODIFY NAME = GWPRD_CMCC_1 --new db name
Vai. Alterar a base de dados GWPRD_ CMC_ 1 --novo nome db DEFINIR MULTI-UTILIZADOR GO
 0
Author: Pani, 2019-01-11 05:14:22

BASE DE DADOS OFFLINE

USE [master];
GO
--Disconnect all existing session.
ALTER DATABASE Datatbase_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

--mude a base de dados para o modo desligado. Alterar a base de dados Datatbase_Name SET OFFLINE Para mudar o nome dos ficheiros físicos de bases de dados, use a pasta de estúdio de gestão de servidores SQL ou use o programa abaixo de

-- para permitir que as opções avançadas sejam alteradas.

EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO

Mudar o nome do ficheiro MDF dan Log

ALTER DATABASE [Datatbase_Name] MODIFY FILE (Name='Old_Mdf_file_Name', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL13.SQLMS2016\MSSQL\DATA\New_Mdf_file_Name.mdf')
ALTER DATABASE [Datatbase_Name] MODIFY FILE (Name='Old_log_file_Name', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL13.SQLMS2016\MSSQL\DATA\New_log_file_Name.ldf')

EXEC xp_cmdshell 'RENAME "C:\Program Files\Microsoft SQL Server\MSSQL13.SQLMS2016\MSSQL\DATA\Old_Mdf_file_Name.mdf", "New_Mdf_file_Name.mdf"'
GO

EXEC xp_cmdshell 'RENAME "C:\Program Files\Microsoft SQL Server\MSSQL13.SQLMS2016\MSSQL\DATA\Old_log_file_Name.ldf", "New_log_file_Name.ldf"'
GO
ONLINE DATABASE

ALTER DATABASE [Datatbase_Name] SET ONLINE
Go
ALTER DATABASE [Datatbase_Name] SET MULTI_USER
Go
 0
Author: AgungPanduan.Com, 2021-01-27 12:50:03