How many days in a month for a given date?
Posted: December 10, 2010 Filed under: SQL Server Leave a commentDECLARE @givenDate DATETIME
SET @givenDate= ’12/11/2010′
Shrink log files for DNN databases
Posted: December 6, 2010 Filed under: DotNetNuke (DNN), SQL Server 2005 Leave a commentHere is code snippet for how to shrink log files in either full or simple recovery mode. I have a condition check to deal with only DNN web databases.
EXEC
sp_MSForEachDB
–DNN has a table named as Version
‘ IF EXISTS (select 1 from [?].information_schema.tables where
table_name=”Version”)
BEGIN
IF EXISTS (SELECT 1 FROM master..sysdatabases
WHERE databasepropertyex (name,”Recovery”)=”FULL” )
begin
USE [?]
BACKUP LOG [?] WITH TRUNCATE_ONLY
dbcc shrinkfile(2)
dbcc shrinkdatabase(0)
end
IF EXISTS (SELECT 1 FROM master..sysdatabases
WHERE databasepropertyex (name,”Recovery”)=”SIMPLE” )
begin
USE [?]
CHECKPOINT
dbcc shrinkfile(2)
dbcc shrinkdatabase(0)
end
END
‘
Reference:
http://www.karaszi.com/SQLServer/info_dont_shrink.asp
DNN Sercurity Setting Locked Issue (DNN 5.5.0 and DNN 5.6.0)
Posted: December 2, 2010 Filed under: DotNetNuke (DNN) | Tags: DotNetNuke, SQL Leave a commentWhen you create a child portal from a template in DNN 5.5.0 and DNN 5.6.0 (maybe more versions), you may run into an issue: you cannot modify any page’s security settings any more. They are locked!
You may find the dicussion from DotNetNuke forum at this link and a script from Chris Hammod:
Here is another SQL script to fix the issue:
p
p.AdministratorRoleId = d.AdministratorRoleId
.RegisteredRoleId = d.RegisteredRoleId
PortalID, [Administrators] AS AdministratorRoleId
[Registered Users] AS RegisteredRoleId FROM (SELECT PortalID, RoleID, RoleName FROM {databaseOwner}{objectQualifier}Roles ) src
(MIN(RoleID) FOR RoleName IN ([Administrators],[Registered Users]))
d INNER JOIN {databaseOwner}{objectQualifier}Portals p ON d.PortalID=p.PortalID
You can run the above script from your DNN site under HOST>SQL Run as Script (make sure your have a backup copy of your database).
If you want to run the script from SSMS, here is the copy without {databaseOwner}{objectQualifier}:
p
p.AdministratorRoleId=d.AdministratorRoleId
.RegisteredRoleId =d.RegisteredRoleId
( SELECT PortalID, [Administrators] as AdministratorRoleId
[Registered Users] as
FROM (SELECT PortalID, RoleID, RoleName from roles ) src
(MIN(RoleID) FOR RoleName IN ([Administrators],[Registered Users]))pvt
d INNER JOIN dbo.Portals p ON d.PortalID=p.PortalID