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