una significa servidor restaurar que nivel migrar exportar datos compatibilidad cambiar admite sql-server powershell connection-string

significa - Conéctese a la base de datos de SQL Server de PowerShell



restaurar base de datos sql server 2012 a 2008 (5)

Cambie la seguridad integrada a falso en la cadena de conexión.

Puede verificar / verificar esto abriendo el SQL Management Studio con el nombre de usuario / contraseña que tiene y ver si puede conectar / abrir la base de datos desde allí. ¡NOTA! Podría ser un problema de firewall también.

He buscado en línea por un tiempo y encontré muchos problemas similares, pero por alguna razón parece que no puedo hacer que esto funcione.

Solo intento conectarme a una base de datos del servidor SQL y enviar los resultados de la consulta a un archivo. Consulte el script de PowerShell a continuación. De lo que no estoy seguro es de cómo integrar la identificación de usuario y la contraseña en la cadena de conexión.

$SQLServer = "aaaa.database.windows.net" $SQLDBName = "Database" $uid ="john" $pwd = "pwd123" $SqlQuery = "SELECT * from table;" $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True; User ID = $uid; Password = $pwd;" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = $SqlQuery $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $DataSet.Tables[0] | out-file "C:/Scripts/xxxx.csv"

Se recibe el siguiente mensaje de error:

Llamada de excepción "Rellenar" con "1" argumento (s): "Los inicios de sesión de Windows no son compatibles en esta versión de SQL Server".


La respuesta es la siguiente para autenticación de ventana

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=$SQLServer;Database=$SQLDBName;Integrated Security=True;"


Suponiendo que puede usar la seguridad integrada, puede eliminar la identificación del usuario y pasarla:

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True;"


Integrated Security y User ID / autenticación de Password son mutuamente excluyentes. Para conectarse a SQL Server como el usuario que ejecuta el código, elimine User ID y Password de su cadena de conexión:

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True;"

Para conectarse con credenciales específicas, elimine la Integrated Security :

$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; User ID = $uid; Password = $pwd;"


# database Intraction $SQLServer = "YourServerName" #use Server/Instance for named SQL instances! $SQLDBName = "YourDBName" $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; User ID= YourUserID; Password= YourPassword" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = ''StoredProcName'' $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $SqlConnection.Close() #End :database Intraction clear