Ceci est bien un pipe
Si on veut utiliser SQL Server Management Studio en local sur un serveur faisant tourner un SQL Server Embedded Edition, il faut se connecter en entrant ce nom :
\.pipemssql$microsoft##sseesqlquery
C’est le nom du pipe qui est utilisé.
Étiquette : SQL Server
SQL Server : Liste des tailles des bases de données
C’est pas la taille qui compte.
Voici le script le plus simple pour afficher toutes les tailles de toutes les BDD d’une instance :
EXECUTE sp_msforeachdb 'use [?] Exec sp_spaceused'
SQL Server : requête pour lister les tables et leurs colonnes
Rapidement, afin d’éviter de la retrouver à chaque fois :
select T.name, C.name
from syscolumns AS C
INNER JOIN sysobjects AS T ON C.id = T.id
where T.xtype = 'U'
ORDER BY T.NAME, C.colorder
Tout ceci étant largement perfectible…
SQL Server : Requêter à travers un firewall
Tout est décrit sur cette page : Lien vers MSDN
Ils précisent que ça se fait en 2 étapes :
- Préciser à SQL Server d’utiliser le port 1433
- Ouvrir le port sur le firewall.
Sinon :
As an alternative to configuring SQL Server to listen on a fixed port and opening the port, you can list the SQL Server executable (Sqlservr.exe) as an exception to the blocked programs.
SQL SERVER : Désactiver les contraintes sur une table.
La commande est celle-ci :
ALTER TABLE ma_table NOCHECK CONSTRAINT ALL
Pour désactiver TOUTES les contraintes de TOUTES les tables :
exec sp_MSforeachtable ’ALTER TABLE ? NOCHECK CONSTRAINT ALL’
Pour tout remettre d’équerre :
exec sp_MSforeachtable ’ALTER TABLE ? CHECK CONSTRAINT ALL’
A noter que ça marche aussi pour désactiver les triggers : ALTER TABLE ma_table DISABLE TRIGGER ALL
, puis faire ENABLE
pour les réactiver.
Source sur SQLServer Magazine.
SQL Server : Fichier de Log (.LDF) qui devient énorme.
Comment diminuer de taille le fichier de transactions en un seul script SQL ?
Lorsqu’une base de données est en mode de récupération « Full » (Complète), les fichiers journaux .LDF peuvent devenir énormes (toutes les transactions sont enregistrées).
En lancant le script SQL ci-dessous, vous allez sauvegarder vos bases et fichiers de transaction, et diminuer la taille du fichier LDF :
-- Sauvegarde complète BACKUP DATABASE MaBase TO DISK = ’S:mssqlMaBase.bak’ GO BACKUP LOG MaBase TO DISK = ’S:mssqlMaBase_log.bak’ GO USE MaBase GO -- (MaBase_log est le nom LOGIQUE du fichier LDF physique... A vérifier donc !) DBCC SHRINKFILE(MaBase_log) GO
NB : le fait de faire une sauvegarde complète d’une BDD vide le fichier de log « LDF »… mais ne diminue pas sa taille ! C’est pourquoi il faut faire un SHRINKFILE.
NB2 : C’est pourquoi il est important de faire une sauvegarde complète une fois par jour, afin d’empêcher le fichier LDF de grossir démesurément (le fichier se « videra » puis l’espace sera réutilisé…)
NB3 : Il faut également réfléchir à passer en mode de récupération SIMPLE. Le fichier LDF ne grossira pas autant, mais la perte de données admissible en cas de crash sera plus grande.
T-SQL : Boucler sur un curseur
Etant donné que j’oublie à chaque fois cette structure de code, je la placeune fois pour toute :
DECLARE @ma_var1 VARCHAR(255), @ma_var2 VARCHAR(255) DECLARE mon_curseur CURSOR FOR SELECT col1, col2 FROM ma_table OPEN mon_curseur FETCH NEXT FROM mon_curseur INTO @ma_var1, @ma_var2 WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM mon_curseur INTO @ma_var1, @ma_var2 END CLOSE mon_curseur DEALLOCATE mon_curseur