Pages

Showing posts with label SQL Server. Show all posts
Showing posts with label SQL Server. Show all posts

Tuesday, January 15, 2019

Recovering the suspected SharePoint 2013 Config database

Issue:

Central Administrator site not accessible.



Open SQL Server -- New Query, run these command to repair the SharePoint config database.




— Use the Master database 
Use Master

— Verify that database has issues 
EXEC sp_resetstatus 'SharePoint_Config'

— Put the database in emergency mode 
ALTER DATABASE SharePoint_Config SET EMERGENCY 
DBCC checkdb('SharePoint_Config')

— Set the database in single user mode 
ALTER DATABASE SharePoint_Config SET SINGLE_USER WITH ROLLBACK IMMEDIATE

— Repair the database with data loss 
DBCC CheckDB ('SharePoint_Config', REPAIR_ALLOW_DATA_LOSS)

— Set the database in multi-user mode 
ALTER DATABASE SharePoint_Config SET MULTI_USER

— Verify that database is reset 
EXEC sp_resetstatus 'SharePoint_Config'

Monday, January 8, 2018

Truncate WSS_Logging MDF and LDF database in the Sharepoint Server

we try to access our SharePoint site and notice that site does not load and instead throws an error. 
we investigate the error and find out that it has something to do with the WSS_Logging database when check WSS_LOGGIN MDF file size has more than 100 GB out of 120 GB Disk space. 
It is a common problem and If you are facing this type of issue, truncate your WSS_Logging DB and you should be follow in the below steps:

1.       Open your SQL UI. Right click WSS_Logging DB and go to Reports > Disk Usage OR Reports > Standard Reports > Disk Usage.

Figure 1: Disk Usage

2.       In the disk usage report, expand the second node to see current disk usage. It should be full.



3.       Right-click WSS_Logging B and select “New Query” and paste the following script in the window and then hit F5 to execute it. NOTE: This script was copied from the following link:


Script:

·         DECLARE @TableName AS VARCHAR(MAX)
DECLARE table_cursor CURSOR
FOR
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND TABLE_NAME LIKE '%_Partition%'
OPEN table_cursor
FETCH NEXT FROM table_cursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @SQLText AS NVARCHAR(4000)

SET @SQLText = 'TRUNCATE TABLE ' + @TableName

EXEC sp_executeSQL @SQLText

FETCH NEXT FROM table_cursor INTO @TableName
END
CLOSE table_cursor
DEALLOCATE table_cursor


Different people have written different scripts to truncate the table. This one is a tested solution and works perfectly.

4.       After executing the query, go back to the disk usage report and now you should see that the database is empty. Open your SharePoint site and it should work.


After that we shrink MDF files from SQL Server management studio then WSS Logging MDF files has reduced disk size and which is working fine and tested in my environment.








Wednesday, September 21, 2016

Get SQL Server Custom Login Password expiration Details

 The below code will execute in the SQL server then you will get the details


--Show all logins password expiration date and creation date

SELECT name AS SQLLoginName,
   DATEADD(DAY, CAST(LOGINPROPERTY(name, 'DaysUntilExpiration') AS int), GETDATE())
AS ExpirationDate,
   create_date
   FROM sys.server_principals
   WHERE type = 'S'


-- Show all logins where the password was changed within the last day

SELECT name, LOGINPROPERTY([name], 'PasswordLastSetTime') AS 'PasswordChanged'
FROM sys.sql_logins
WHERE LOGINPROPERTY([name], 'PasswordLastSetTime') > DATEADD(dd, -1, GETDATE());


-- Show all logins where the password is over 60 days old

SELECT name, LOGINPROPERTY([name], 'PasswordLastSetTime') AS 'PasswordChanged'
FROM sys.sql_logins
WHERE LOGINPROPERTY([name], 'PasswordLastSetTime') < DATEADD(dd, -60, GETDATE())
  AND NOT (LEFT([name], 2) = '##' AND RIGHT([name], 2) = '##');


--Change Password via code

ALTER LOGIN TestDBs
WITH PASSWORD = 'Asdeft##';