Différences entre les versions de « Mssql »

De BlaxWiki
Aller à la navigationAller à la recherche
 
(5 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
__TOC__
__TOC__


=== Commandes Sql ===
== Commandes Sql ==
 
=== Show sql infos ===
Voilà une liste de commande mssql permettant d'avoir des informations précises sur la version, service pack.... de mssql
Voilà une liste de commande mssql permettant d'avoir des informations précises sur la version, service pack.... de mssql
<pre>
<pre>
Ligne 19 : Ligne 19 :
</pre>
</pre>


=== Modification du chemin des bases ===
=== Create & insert table ===
Après avoir créé une base (ici agarik_supervision), on créé une table :
<pre>
USE agarik_supervision
GO
CREATE TABLE dbo.Products
  (ProductID int PRIMARY KEY NOT NULL,
    ProductName varchar(25) NOT NULL,
    Price money NULL,
    ProductDescription text NULL)
GO
</pre>
 
Puis une insertion :
<pre>
INSERT dbo.test (ProductID, ProductName, Price, ProductDescription)
    VALUES (1, 'Clamp', 12.48, 'Workbench clamp')
</pre>
 
=== Shrink ===
<pre>
USE TOSCANE;
GO
ALTER DATABASE TOSCANE
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (TOSCANE_log, 1);
GO
ALTER DATABASE TOSCANE
SET RECOVERY FULL;
GO
</pre>


== Modification du chemin des bases ==
La meilleure solution est d'installer normalement Mssql sur C, puis une fois l'installation terminée, lancer mssql, dans l'explorateur d'objet, bouton droit "propriétés" sur le SQL SERVER, puis "Paramètres de la base de donnée", changer les champs "données" et "journal". Pour les données cela concerne les nouvelles bases mssql et pas la base systeme mssql
La meilleure solution est d'installer normalement Mssql sur C, puis une fois l'installation terminée, lancer mssql, dans l'explorateur d'objet, bouton droit "propriétés" sur le SQL SERVER, puis "Paramètres de la base de donnée", changer les champs "données" et "journal". Pour les données cela concerne les nouvelles bases mssql et pas la base systeme mssql


== Droits des Users ==
Pour voir les droits des Users et les modifier, se connecter au Mssql, puis Securité / Connexions


== Changement de mappage ==
<pre>
Pour changer le mappage en DBO (db owner) il fallait unmapper le user admin_geogazpar
Pour pouvoir unmapper le user admin_geogazpar il fallait changer de proprio 2 schémas dont il était proprio
--ALTER AUTHORIZATION ON SCHEMA::db_datareader TO dbo
--ALTER AUTHORIZATION ON SCHEMA::db_datawriter TO dbo
-- unmappage manuel
-- sp_changedbowner admin_geogazpar;
</pre>
== Rebuild des Index ==
<pre>
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
(
SELECT '[' + IST.TABLE_SCHEMA + '].[' + IST.TABLE_NAME + ']' AS [TableName]
FROM INFORMATION_SCHEMA.TABLES IST
WHERE IST.TABLE_TYPE = 'BASE TABLE'
)
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT('Rebuilding Indexes on ' + @TableName)
Begin Try
EXEC('ALTER INDEX ALL ON ' + @TableName + ' REBUILD with (ONLINE=ON)')
End Try
Begin Catch
PRINT('Cannot do rebuild with Online=On option, taking table ' + @TableName+' down for douing rebuild')
EXEC('ALTER INDEX ALL ON ' + @TableName + ' REBUILD')
End Catch
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE TableCursor
</pre>


[[Catégorie:Software]]
[[Catégorie:Software]]

Version actuelle datée du 15 avril 2020 à 09:21

Commandes Sql[modifier]

Show sql infos[modifier]

Voilà une liste de commande mssql permettant d'avoir des informations précises sur la version, service pack.... de mssql

SELECT @@VERSION
SELECT Serverproperty('Edition') as SQLServer_Edition
SELECT Serverproperty('ProductLevel') as SQLServer_Level
SELECT Serverproperty('ProductVersion') as SQLServer_Version
SELECT Serverproperty('InstanceName') as SQLServer_Instance
SELECT SERVERPROPERTY('Collation') AS 'Collation' 
SELECT Serverproperty('Collation') as SQLServer_Collation
SELECT Serverproperty('IsClustered') as SQLServer_IsClustered
SELECT Serverproperty('IsFullTextInstalled') as SQLServer_IsFullTextInstalled
SELECT Serverproperty('IsIntegratedSecurityOnly') as SQLServer_IsIntegratedSecurityOnly
SELECT Serverproperty('LicenseType') as SQLServer_LicenseType
SELECT Serverproperty('ServerName') as SQLServer_ServerName

Create & insert table[modifier]

Après avoir créé une base (ici agarik_supervision), on créé une table :

USE agarik_supervision
GO
CREATE TABLE dbo.Products
   (ProductID int PRIMARY KEY NOT NULL,
    ProductName varchar(25) NOT NULL,
    Price money NULL,
    ProductDescription text NULL)
GO

Puis une insertion :

INSERT dbo.test (ProductID, ProductName, Price, ProductDescription)
    VALUES (1, 'Clamp', 12.48, 'Workbench clamp')

Shrink[modifier]

USE TOSCANE;
GO
ALTER DATABASE TOSCANE
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (TOSCANE_log, 1);
GO
ALTER DATABASE TOSCANE
SET RECOVERY FULL;
GO

Modification du chemin des bases[modifier]

La meilleure solution est d'installer normalement Mssql sur C, puis une fois l'installation terminée, lancer mssql, dans l'explorateur d'objet, bouton droit "propriétés" sur le SQL SERVER, puis "Paramètres de la base de donnée", changer les champs "données" et "journal". Pour les données cela concerne les nouvelles bases mssql et pas la base systeme mssql

Droits des Users[modifier]

Pour voir les droits des Users et les modifier, se connecter au Mssql, puis Securité / Connexions

Changement de mappage[modifier]

Pour changer le mappage en DBO (db owner) il fallait unmapper le user admin_geogazpar
Pour pouvoir unmapper le user admin_geogazpar il fallait changer de proprio 2 schémas dont il était proprio
--ALTER AUTHORIZATION ON SCHEMA::db_datareader TO dbo
--ALTER AUTHORIZATION ON SCHEMA::db_datawriter TO dbo
-- unmappage manuel
-- sp_changedbowner admin_geogazpar;

Rebuild des Index[modifier]

DECLARE @TableName varchar(255)
 
 DECLARE TableCursor CURSOR FOR
 (
 SELECT '[' + IST.TABLE_SCHEMA + '].[' + IST.TABLE_NAME + ']' AS [TableName]
 FROM INFORMATION_SCHEMA.TABLES IST
 WHERE IST.TABLE_TYPE = 'BASE TABLE'
 )
 
 OPEN TableCursor
 FETCH NEXT FROM TableCursor INTO @TableName
 WHILE @@FETCH_STATUS = 0
 
 BEGIN
 PRINT('Rebuilding Indexes on ' + @TableName)
 Begin Try
 EXEC('ALTER INDEX ALL ON ' + @TableName + ' REBUILD with (ONLINE=ON)')
 End Try
 Begin Catch
 PRINT('Cannot do rebuild with Online=On option, taking table ' + @TableName+' down for douing rebuild')
 EXEC('ALTER INDEX ALL ON ' + @TableName + ' REBUILD')
 End Catch
 FETCH NEXT FROM TableCursor INTO @TableName
 END
 
 CLOSE TableCursor
 DEALLOCATE TableCursor