Hola, tengo en mi SQL Server un par de bases de datos con un "-". El caso es que si la base de datos se llama xxx-yy, al ejecutar use xxx-yy me dice que no localiza la entrada en sysdatabases para xxx. Sin embargo, en sysdatabases están estas bases de datos. Iguammente no las puedo borrar debido al mismos problema. ¿Qué puedo hacer para borrarlas o acceder a ellas? Gracias por adelantado
1 respuesta
Respuesta de mrivasr
1
1
mrivasr, Java J2ee Jee Oracle BEA JBoss SQL Server
Para usar la terminología que comentas debes usar los caracteres "[" y "]" para bases de datos con caracteres especiales... Te adjunto un ejemplo: Paso 1: Crear la base de datos ------------------------------ USE master GO CREATE DATABASE [db-test] ON PRIMARY ( NAME = test_primary, FILENAME = 'd:\mssql7\data\test_primary01.mdf', SIZE = 5MB, MAXSIZE = 50, FILEGROWTH = 1MB), FILEGROUP test_DATA ( NAME = test_DATA, FILENAME = 'd:\mssql7\data\test_data01.ndf', SIZE = 10MB, MAXSIZE = 100, FILEGROWTH = 1MB), FILEGROUP test_INDX ( NAME = test_INDX, FILENAME = 'd:\mssql7\data\test_indx01.ndf', SIZE = 10MB, MAXSIZE = 100, FILEGROWTH = 1MB) LOG ON ( NAME = test_LOG, FILENAME = 'd:\mssql7\data\test_log01.ldf', SIZE = 10MB, MAXSIZE = 100, FILEGROWTH = 1MB) GO ALTER DATABASE [db-test] MODIFY FILEGROUP test_DATA DEFAULT; El resultado es: The CREATE DATABASE process is allocating 5.00 MB on disk 'test_primary'. The CREATE DATABASE process is allocating 10.00 MB on disk 'test_DATA'. The CREATE DATABASE process is allocating 10.00 MB on disk 'test_INDX'. The CREATE DATABASE process is allocating 10.00 MB on disk 'test_LOG'. The filegroup property 'DEFAULT' has been set. Paso 2: Eliminar la base de datos ------------------------------ DROP DATABASE [db-test] El resultado es el siguiente: Deleting database file 'd:\mssql7\data\test_primary01.mdf'. Deleting database file 'd:\mssql7\data\test_log01.ldf'. Deleting database file 'd:\mssql7\data\test_data01.ndf'. Deleting database file 'd:\mssql7\data\test_indx01.ndf'. Intenta borrarlas usando "[" y "]", Saludos, MRR
Muchas gracias. No conocía lo de los "[". De todas formas al final actualicé el nombre de la base de datos en master.. sysdatabases (para borrarla después ...) Muchas gracias