Ir al contenido principal

Mover bases de datos del sistema (SQL2005)

Libros en pantalla de SQL Server 2005 (septiembre de 2007)

Mover bases de datos del sistema

En este tema se describe cómo mover bases de datos del sistema en SQL Server 2005.
Mover bases de datos del sistema puede resultar útil en las situaciones siguientes:

Recuperación de errores.
Por ejemplo, la base de datos se encuentra en modo sospechoso o se ha cerrado a causa de un error de hardware.
Reubicación planeada.
Reubicación para mantenimiento de disco programado.

Los siguientes procedimientos se aplican para mover archivos de base de datos dentro de una misma instancia de SQL Server. Para mover una base de datos a otra instancia de SQL Server o a otro servidor, utilice las operaciones copia de seguridad y restauración o separar y adjuntar.
Los procedimientos descritos en este tema requieren el nombre lógico de los archivos de la base de datos. Para obtener el nombre, consulte la columna name de la vista de catálogo sys.master_files.

Importante:
Si se mueve una base de datos del sistema y posteriormente se vuelve a generar la base de datos master, se debe mover de nuevo la base de datos del sistema porque la operación de regeneración instala todas las bases de datos del sistema en su ubicación predeterminada. Para obtener más información acerca de la regeneración de la base de datos master, vea "Volver a generar las bases de datos del sistema, volver a generar el registro" en
Cómo instalar SQL Server 2005 desde el símbolo del sistema.

Procedimiento de reubicación planeada para mantenimiento de disco programado.

Para mover un archivo de registro o datos de bases de datos del sistema como parte de una operación de reubicación planeada o de mantenimiento programado, siga estos pasos. Este procedimiento se aplica a todas las bases de datos del sistema, excepto las bases de datos master y Resource.
  1. Para cada archivo que se va a mover, ejecute la siguiente instrucción.
    ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path/os_file_name' )
  2. Detenga la instancia de SQL Server o cierre el sistema para realizar el mantenimiento. Para obtener más información, vea Detener servicios.
  3. Mueva el archivo o los archivos a la nueva ubicación.
  4. Reinicie la instancia de SQL Server o el servidor. Para obtener más información, vea Iniciar y reiniciar servicios.
  5. Compruebe el cambio de los archivos ejecutando la siguiente consulta.
    SELECT name, physical_name AS CurrentLocation, state_desc
    FROM sys.master_files
    WHERE database_id = DB_ID(N'');

    Si se mueve la base de datos msdb y se configura la instancia de SQL Server para Correo electrónico de base de datos, lleve a cabo estos pasos adicionales.

  1. Asegúrese de que Service Broker se haya habilitado para la base de datos msdb; para ello, ejecute la siguiente consulta.
    SELECT is_broker_enabled
    FROM sys.databases
    WHERE name = N'msdb';
  2. Para obtener más información acerca de Service Broker, vea ALTER DATABASE (Transact-SQL).
  3. Envíe un mensaje de correo electrónico para comprobar que el Correo electrónico de base de datos funciona. Para obtener más información, vea Solucionar problemas del Correo electrónico de base de datos.

Procedimiento de recuperación de errores


Si se debe mover un archivo a causa de un error de hardware, siga los pasos que se indican a continuación para colocar el archivo en otra ubicación. Este procedimiento se aplica a todas las bases de datos del sistema, excepto las bases de datos master y Resource.

Importante:
Si no se puede iniciar la base de datos, es decir, si se encuentra en modo sospechoso o en un estado no recuperado, sólo los miembros de la función fija sysadmin podrán mover el archivo.

  1. Detenga la instancia de SQL Server si se ha iniciado.
  2. Inicie la instancia de SQL Server en modo de recuperación sólo de master especificando uno de los siguientes comandos en el símbolo del sistema. Los parámetros especificados en estos comandos distinguen entre mayúsculas y minúsculas. Los comandos generan un error cuando los parámetros no se especifican como se indica. Para la instancia predeterminada (MSSQLSERVER), ejecute el siguiente comando:
    NET START MSSQLSERVER /f /T3608, Para una instancia con nombre, ejecute el siguiente comando:
    NET START MSSQL$instancename /f /T3608
    Para obtener más información, vea Cómo iniciar una instancia de SQL Server (Comandos net).
  3. Para cada archivo que se va a mover, utilice comandos sqlcmd o SQL Server Management Studio para ejecutar la siguiente instrucción.
    ALTER DATABASE database_name MODIFY FILE( NAME = logical_name , FILENAME = 'new_path\os_file_name' )
  4. Para obtener más información acerca de cómo usar la utilidad sqlcmd, vea Usar la utilidad sqlcmd.
  5. Salga de la utilidad sqlcmd o de SQL Server Management Studio.
  6. Detenga la instancia de SQL Server. Por ejemplo, ejecute NET STOP MSSQLSERVER.
  7. Mueva el archivo o los archivos a la nueva ubicación.
  8. Reinicie la instancia de SQL Server. Por ejemplo, ejecute NET START MSSQLSERVER.
  9. Compruebe el cambio de los archivos ejecutando la siguiente consulta.
    SELECT name, physical_name AS CurrentLocation, state_desc
    FROM sys.master_files
    WHERE database_id = DB_ID(N'');

Mover las bases de datos master y Resource
La base de datos Resource depende de la ubicación de la base de datos master. Si mueve la base de datos master, debe mover también la base de datos Resource a la misma ubicación que el archivo de datos de master. No ponga la base de datos Resource en carpetas cifradas ni comprimidas del sistema de archivos NTFS. Si lo hace, reducirá el rendimiento e impedirá las actualizaciones.


Para mover las bases de datos master y Resource, siga los pasos que se indican a continuación.

  1. En el menú Inicio, seleccione Todos los programas, Microsoft SQL Server 2005, Herramientas de configuración y, finalmente, haga clic en Administrador de configuración de SQL Server.
  2. En el nodo Servicios de SQL Server 2005, haga clic con el botón secundario en la instancia de SQL Server (por ejemplo, SQL Server (MSSQLSERVER)) y seleccione Propiedades.
  3. En el cuadro de diálogo Propiedades de SQL Server (nombreDeInstancia), haga clic en la ficha Avanzadas.
  4. Modifique los valores de Parámetros de inicio para que apunten a la ubicación planeada de los archivos de registro y datos de la base de datos master y haga clic en Aceptar. Mover el archivo del registro de errores es opcional.El valor de parámetro del archivo de datos debe ir a continuación del parámetro -d y el valor del archivo de registro debe ir a continuación del parámetro -l. En el siguiente ejemplo se muestran los valores de los parámetros de la ubicación predeterminada de los archivos de registro y datos de master.
    -dC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG;-lC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\mastlog.ldf
  5. Si la reubicación planeada para los archivos de registro y datos de master es E:\SQLData, los valores de parámetros cambiarían de la manera siguiente:
    -dE:\SQLData\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG;-lE:\SQLData\mastlog.ldf
  6. Para detener la instancia de SQL Server, haga clic con el botón secundario en el nombre de la instancia y seleccione Detener.
  7. Mueva los archivos master.mdf y mastlog.ldf a la nueva ubicación.
  8. Inicie la instancia de SQL Server en modo de recuperación sólo de master especificando uno de los siguientes comandos en el símbolo del sistema. Los parámetros especificados en estos comandos distinguen entre mayúsculas y minúsculas. Los comandos generan un error cuando los parámetros no se especifican como se indica.
    · Para la instancia (MSSQLSERVER) predeterminada, ejecute el siguiente comando:
    NET START MSSQLSERVER /f /T3608
    · Para una instancia con nombre, ejecute el siguiente comando:
    NET START MSSQL$instancename /f /T3608
  9. Mediante comandos de sqlcmd o SQL Server Management Studio, ejecute las siguientes instrucciones. Cambie la ruta de acceso a FILENAME para que coincida con la nueva ubicación del archivo de datos de master. No cambie el nombre de la base de datos ni los nombres de archivo.
    ALTER DATABASE mssqlsystemresource
    MODIFY FILE (NAME=data, FILENAME= 'new_path_of_master\mssqlsystemresource.mdf');
    GO

    ALTER DATABASE mssqlsystemresource
    MODIFY FILE (NAME=log, FILENAME= 'new_path_of_master\mssqlsystemresource.ldf');GO
  10. Mueva los archivos mssqlsystemresource.mdf y mssqlsystemresource.ldf a la nueva ubicación.
  11. Establezca la base de datos Resource en modo de sólo lectura ejecutando la siguiente instrucción.
    ALTER DATABASE mssqlsystemresource SET READ_ONLY;
  12. Salga de la utilidad sqlcmd o de SQL Server Management Studio.
  13. Detenga la instancia de SQL Server.
  14. Reinicie la instancia de SQL Server.
  15. Compruebe el cambio de archivo de la base de datos master ejecutando la siguiente consulta. Los metadatos de la base de datos Resource no se pueden ver mediante vistas de catálogo del sistema ni tablas del sistema.
    SELECT name, physical_name AS CurrentLocation, state_desc
    FROM sys.master_files
    WHERE database_id = DB_ID('master');
    GO

Ejemplos
A. Mover la base de datos tempdb


En los siguientes ejemplos se mueven los archivos de datos y registro de tempdb a una nueva ubicación como parte de una reubicación planeada.

Nota:
Puesto que tempdb se vuelve a crear cada vez que se inicia la instancia de SQL Server, no hay que mover físicamente los archivos de datos y registro. Los archivos se crean en la nueva ubicación cuando se reinicia el servicio en el paso 3. Hasta que se reinicia, tempdb seguirá utilizando los archivos de datos y registro de la ubicación existente.

1. Determine los nombres de los archivos lógicos de la base de datos tempdb y su ubicación actual en el disco.


SELECT name, physical_name AS CurrentLocation
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');
GO


2. Cambie la ubicación de cada archivo mediante ALTER DATABASE.

USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf');
GO


3. Detenga y reinicie la instancia de SQL Server.


4. Compruebe el cambio de los archivos.

SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');


5. Elimine los archivos tempdb.mdf y templog.ldf de la ubicación original.

Comentarios

Entradas populares de este blog

Get SharePoint Online Site and SubSites permission using PowerShell

The below PowerShell script retrieves the following for the given SharePoint Online Site All the Sub-site's URL Security group attached with each Sub-site with their permission level Prerequisites: This PowerShell script uses the latest version of SharePoint Online PnP Module. Download the installer from https://github.com/SharePoint/PnP-PowerShell/releases  Install-Module SharePointPnPPowerShellOnline  Install-Module - Name ' SharePointPnP.PowerShell.Commands.Files.Recurse ' function  connect - site( $webs , $creds ){    Connect - PNPonline  - Url  $webs   - Credentials  $cred     }    function  get - sitepermission( $web , $cred ){    $rec =@()    connect - site  - webs  $web   - creds  $cred     if ( $web   - eq  $parentsitename )  {  #Write-Host "Parent site permission" $web   $Pgroups =Get - PNPGroup  foreach ( $Pgroup   in   $Pgroups )  {  $DLGP  =  ""   |   Select   "SiteUrl" , "GroupName" , "Permiss

Find and Delete Orphaned Users in SharePoint

Fuente: http://www.sharepointdiary.com/2012/09/find-and-delete-orphaned-users-in-sharepoint.html Orphaned User? Who are they? Orphaned users are those who have been disabled/removed from Active Directory, but still have permissions to sites, lists and items. Internally, SharePoint keeps them in " UserInfo " table of the content database for meta-data such as created/modified by fields. Its unavoidable in any organization where employees constantly on-boarding and off-boarding. Its really difficult to manage, when it comes to thousands of sub-sites, sites, libraries and lists with their own sets of permissions. Why we care about Orphaned users? It is a best practice to delete orphaned users to keep the farm clean & organized. Also this will solve the problem of deleted active directory users still appearing on the people picker which was discussed here  People Picker not showing users from Active Directory? . If you know the user base or criteria then you can use: Clea

Conexión desde casa a una VPN sin perder salida a internet

Solución, asumiendo que estas en Windows: Panel de Control, Conexiones de Red. Clic derecho en la VPN, dale a propiedades. Anda a la pestaña de "Funciones de Red" y selecciona Protocolo Internet TCP/IP y clic en el botón "Propiedades". Ahora hazle clic al botón "Opciones Avanzadas..."En la pestaña "General", desmarca la opción que dice "Usar la puerta de enlace predeterminada en la red remota". Dale a aceptar a todas las ventanitas de opción, y ahora conéctate a la VPN nuevamente. Con eso deberías entrar a la VPN sin perder la conexión local de tu red e internet.