Tuesday, June 11, 2013

[SQL Server 2008 issues] Resource Governor in SQL Server 2008

[SQL Server 2008 issues] Resource Governor in SQL Server 2008


Resource Governor in SQL Server 2008

Posted: 10 Jun 2013 12:41 PM PDT

Hi, Am looking to implement Resource Governor functionality, and would like to know the links or any useful details which can help me in proceeding further along with sample code.Regards,Sai Viswanath

sql server 2008

Posted: 10 Jun 2013 06:08 PM PDT

I am confused how to install sql server 2008

which type of value should be given to timestamp datatype

Posted: 10 Jun 2013 06:23 PM PDT

example:--- use 12 go insert into tstamp values( ?????)

can anyone give me name of the software which creates views automatically with wizard

Posted: 10 Jun 2013 06:27 PM PDT

I had tried to create views for sql server 2008 with tocows software ,but it does not give any valuable results.

Cannot connect from VM with Windows XP to SQL Server 2008 R2 on Host Windows 8

Posted: 10 Jun 2013 01:22 AM PDT

Hi,I have a PC running windows 8 and SQL server 2008 R2 express and a virtual machine with Windows XP. I cannot connect from virtual machine to SQL Server.What I have done:1) Allow remote connections on SQL Server o host machine.2) Enable TCP on sql configuration manager on host machine3) Create an inbound rule in Windows Firewall in Host machine to allow connections through port 1433 ( default port used for SQL server)4) Set a Bridged nertwork connection on virtual machine. When I set the firewall off ( for private networks ) I can connect to SQL server , I can see the databases , but I cannot access them. When I use the SQL Server Management Studio from the virtual machine I can connect to the server and I see the databases but when I try to open one of them to see the tables I get the following message: [quote] The database ERP_DB is not accessible. (ObjectExplorer)[/quote] When the firewall is on I cannot even connect to SQL server on host. and I get the following message:[quote]A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) (Microsoft SQL Server, Error: -1)[/quote] I would be grateful if someone could help me. Thank you very much.

Switch Connection

Posted: 10 Jun 2013 03:11 AM PDT

I am trying to load data from a replicated database in SSIS-if for some reason the replicated fails then i need to point my source to the production server. I am doing a record count comparison to find out if the replication has not failed. My problem though is to find out how we can switch the connection based on the result of the record counts. I have other destination databases connections down the stream which do not need to be switched. The switching only applies to the source database. Any suggestions on the approach - Thank You.

Can't update to SP3 for SQL 2008

Posted: 10 Jun 2013 07:09 AM PDT

HelloI am running SQL Server Enterprise 2008 RTM and need to upgrade to service pack 3 to support a database on a 32 bit server (Windows Server 2008 standard sp2).I tried installing SP3 first but it failed.I then tried installing SP2 and received a message to install the .NET 4.0 frameworkThe framework was installed and I have a one hour window tommorow to install SP3.I'm going to have SP1 ready too in case I need to run them consecutively.I am new to service packs - the one experience I had was to make sure reporting services was running. I suspected the reason for the error this time was also related to Report Services because the log in the bootstrap folder (C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20130610_121337 on mine) stops listing the instance ID.I don't know why SP3 would stop at report services while SP2 let me know I needed the .NET framework. (why didn't sp3 tell ask for the framework?)It says to check the logs so I assume they mean the bootstrap logs. I don't see anything in the SQL logs through SSMS.It also seems unusual that the INSTANCENAME reads <empty.User Input Settings: ACTION: Patch ALLINSTANCES: False CLUSTERPASSIVE: False CONFIGURATIONFILE: HELP: False INDICATEPROGRESS: False INSTANCENAME: <empty> QUIET: False QUIETSIMPLE: False X86: FalseCould you please offer advice installing patches/trouble shooting? Am I supposed to stop services? ( I tried it, didn't work) Thanks in advanceDave

Benefits in using a unique login for each user.

Posted: 10 Jun 2013 08:13 AM PDT

My colleague has received a new application to maintain, written in 4G language.The users have their own, unique credentials to connect to this application, [b]BUT[/b] the application itself connects to MSSQL(there are various servers, running 2005 or 2008 versions) using only one, application dedicated, login. He thought to advise as wellto allocate unique sql login to each user, but in preliminary discussions he was told that there is no benefit for them to go that route,as it will only add an additional layer of maintenance.May I have your pros and cons what are the advantages to have unique sql login for each of the users as oppose of having only one,application dedicated login, please?Much appreciated!

SQL 2008 - Configuring SSIS in Cluster

Posted: 10 Jun 2013 11:11 AM PDT

After making the changes to the xml file to have the cluster name in all the nodes, can i connect IS from SSMS using Cluster name or individvual node name?select @@servername gives me SQL name of cluster which i have added in the xml file.

Date and Time when Table last queried

Posted: 10 Jun 2013 02:58 AM PDT

Hi,Is it possible to find out when a table was last accessed i.e Table has been selected from a query.Thanks

PAGELATCH_UP Won't Let Go!

Posted: 10 Jun 2013 04:48 AM PDT

All,I ran into an issue where my backups and checkdb jobs are failing on one database. Result of a checkdb[quote]Msg 1823, Level 16, State 2, Line 1A database snapshot cannot be created because it failed to start.Msg 7928, Level 16, State 1, Line 1The database snapshot for online checks could not be created. Either the reason is given in a previous error or one of the underlying volumes does not support sparse files or alternate streams. Attempting to get exclusive access to run checks offline.Msg 5030, Level 16, State 12, Line 1The database could not be exclusively locked to perform the operation.Msg 7926, Level 16, State 1, Line 1Check statement aborted. The database could not be checked as a database snapshot could not be created and the database or table could not be locked. See Books Online for details of when this behavior is expected and what workarounds exist. Also see previous errors for more details.Msg 845, Level 17, State 1, Line 1Time-out occurred while waiting for buffer latch type 3 for page (1:2872334), database ID 25.[/quote]sysprocesses shows spid 16 with a PAGELATCH_UP and a waitresource 25:1:2872334 and cmd of CHECKPOINTThis makes me think there is a hung process out there somewhere with a latch on the specified page. Short of restarting the service, what other action should I be taking. I didn't want to jump right in and restart the service for fear of causing more harm than good.Let me know if providing more information would be helpful.

urgent tsql

Posted: 10 Jun 2013 01:02 PM PDT

I am a fresher dba i got a task where i need to convert int value to varchar please help me with this in the highlighted value else 0 instead i want 'not enabled' and 'not scheduled' SELECT distinct @@SERVERNAME AS ServerName, CASE WHEN J.Name IS NOT NULL THEN 1 -- job existsELSE 0 -- Job does not existEND AS IsExisting,CASE J.enabledWHEN 1 Then 1 -- job is enabledELSE 0 -- instead of 0 i want to return 'not enabled' job does not exist error conditionEND AS IsEnabled,CASEWHEN ss.enabled IS NOT NULL THEN 1 -- schedule is enabledELSE 0--instead of 0 i want to return 'not scheduled'END AS IsScheduleEnabled ,J.NAME, CASE WHEN MAX(H.RUN_DATE) IS NULL THEN 0 ELSE MAX(h.run_date) END AS LASTRUNDATE,getdate() as Date FROM MSDB..sysjobs JLEFT JOIN MSDB..sysjobhistory H ON J.job_id = H.job_idLEFT JOIN MSDB..sysjobschedules sjs ON sjs.job_id = J.job_idLEFT JOIN MSDB..sysschedules ss ON ss.schedule_id = sjs.schedule_idLEFT JOIN msdb..sysjobsteps steps on steps.job_id = j.job_idAND steps.step_id = 1 where j.name like 'sys%' and (j.enabled=0 or ss.enabled is null or j.name is null or h.run_date is null)GROUP BY J.NAME,J.enabled, SS.enabled,h.run_date

Transaction log size far exceeds database size when running delete

Posted: 10 Jun 2013 08:15 AM PDT

we setup a purge process and had about 20GB of free log space but kept filling up the T-log.After breaking into smaller chunks I realized that the amount of log space required far exceeded the total db size.On one particular table (see definition below) the delete command loaded 15GB into the T-log. This was only for a fraction of the data within the 19GB database.I'm just looking for an explaination as to why this is. This table does have 3 Text type columns, my thought is that this data is compressed within the table but cant be within the log. Any ideas on this would be appreciated. Thanks.[p]Data Type Length scale precisionint 4 0 10datetime 8 3 23char 1 0 0char 4 0 0char 8 0 0char 6 0 0varchar 47 0 0varchar 40 0 0tinyint 1 0 3tinyint 1 0 3char 3 0 0char 20 0 0char 8 0 0char 8 0 0char 8 0 0char 10 0 0char 7 0 0tinyint 1 0 3tinyint 1 0 3tinyint 1 0 3char 3 0 0char 6 0 0tinyint 1 0 3tinyint 1 0 3char 4 0 0tinyint 1 0 3int 4 0 10smallint 2 0 5char 3 0 0char 4 0 0char 6 0 0tinyint 1 0 3text 16 0 0text 16 0 0text 16 0 0datetime 8 3 23datetime 8 3 23char 15 0 0char 15 0 0char 3 0 0[/p]

SQL Server Transactional Replication Unitialized Replication

Posted: 10 Jun 2013 02:57 AM PDT

Good Day,we added the replication via the gui and the snapshot ran successfully. However when we run the Logreader Agent we get the message of UNITIALIZED Subscription . Any ideas ?

Learn pivot but got an error

Posted: 10 Jun 2013 08:12 AM PDT

I copied code exactly from http://www.codeproject.com/Tips/500811/Simple-Way-To-Use-Pivot-In-SQL-Query as below but got an error said that Incorrect syntax near 'PIVOT'. You may need to set the compatibility level of the current database to a higher value to enable this feature. See help for the SET COMPATIBILITY_LEVEL option of ALTER DATABASE.How to fix it?SELECT *FROM ( SELECT year(invoiceDate) as [year],left(datename(month,invoicedate),3)as [month], InvoiceAmount as Amount FROM Invoice) as sPIVOT( SUM(Amount) FOR [month] IN (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec))AS pivot

DB Size Growing after moving fields

Posted: 10 Jun 2013 12:30 AM PDT

Hi All,I am new here, but have read the site a lot. I have been doing some SQL maintenance on various servers that I administer. One of the scripts takes 20-30 fields or so, and moves the data from the old column to a new column, and once complete it drops the old column. After doing this, the DB file (MDF) grew from about 3.5GB to about 5GB.Why?I did a shrink on both the file and database. This particular box is SQL 2008.Let me know any questions.Thanks for the help!

How to get results from an SP into a table.

Posted: 09 Jun 2013 11:13 PM PDT

Dear reader,Below is an example to get data from a stored procedure into a table.Is there a more generic method or better method to do this. (Generating a resulttable for example which works for 'any' sp). sp_spaceused is used as an example. Thanks in advance,ben[code="sql"]---- 20130610-- ben brugman---- EXAMPLE:-- two databases-- three tables-- get the space used (6 rows) into a table.---- Question:-- How do I get the info of a stored procedure in a table.------ Create a result table.--select CONVERT(varchar(30), '') as name,CONVERT(varchar(30), '') as rows,CONVERT(varchar(30), '') as reserved,CONVERT(varchar(30), '') as data,CONVERT(varchar(30), '') as index_size,CONVERT(varchar(30), '') as unusedinto ##A where 1 = 1-- second result table with an extra columnselect CONVERT(varchar(30), 'Database1') as DB_name,* Into ##B from ##A---- Fill the first result table.--insert into ##A EXEC sp_spaceused 'table_name1'insert into ##A EXEC sp_spaceused 'table_name2'insert into ##A EXEC sp_spaceused 'table_name3'-- Fill the second result table with extra info.insert into ##B select CONVERT(varchar(30), 'Database1') as DB_name, * from ##A-- Repeat process for a second database.Use database2delete ##Ainsert into ##A EXEC sp_spaceused 'table_name1'insert into ##A EXEC sp_spaceused 'table_name2'insert into ##A EXEC sp_spaceused 'table_name3'insert into ##b select CONVERT(varchar(30), 'Database2') as DB_name,* from ##A---- Show all results.--select * from ##B-- Clear updrop table ##Adrop table ##B[/code]

SQL Server 2008 Database Mail

Posted: 29 May 2013 05:04 PM PDT

Hi SQL Masters,I have a situation on my SQL Server hosted on Virtual machine (Oracle Virtual Box). I have a SQL Server there and i configured the Database mail via Wizard and 'Database Mail XPs'. My problem here is that the test mail could not succeed.Anybody could help on this situation?Thanks and Regards,dev1

SQL Agent Service runs fine, but keeps logging this error [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001]

Posted: 10 Sep 2010 12:29 AM PDT

Hi AllI need some help here, I have looked and googled to no avail. I have an installation of SQL Server 2008 installed on a windows server 2008 active/passive cluster. SQL Server runs at any point on the active node until a failover if required.Now I am getting the following errors being logged in the sqlagent.out file. I am stumped as to the repeated Could not open a connection to SQL Server [2]. [SQLSTATE 08001] Error.2010-09-10 10:03:43 - ? [100] Microsoft SQLServerAgent version 10.0.2531.0 ((Unknown) unicode retail build) : Process ID 88002010-09-10 10:03:43 - ? [101] SQL Server ******* version 10.00.2531 (0 connection limit)2010-09-10 10:03:43 - ? [102] SQL Server ODBC driver version 10.00.25312010-09-10 10:03:43 - ? [103] NetLib being used by driver is DBNETLIB.DLL; Local host server is 2010-09-10 10:03:43 - ? [310] 16 processor(s) and 98295 MB RAM detected2010-09-10 10:03:43 - ? [339] Local computer is ****** running Windows NT 6.1 (7600) 2010-09-10 10:03:44 - ? [432] There are 12 subsystems in the subsystems cache2010-09-10 10:03:44 - ! [125] Subsystem 'PowerShell' could not be loaded (reason: 3)2010-09-10 10:03:44 - ! [364] The Messenger service has not been started - NetSend notifications will not be sent2010-09-10 10:03:44 - ? [129] SQLSERVERAGENT starting under Windows NT service control2010-09-10 10:03:47 - + [396] An idle CPU condition has not been defined - OnIdle job schedules will have no effect2010-09-10 10:03:47 - + [408] SQL Server MSSQLSERVER is clustered - AutoRestart has been disabled2010-09-10 10:05:04 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:07:04 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:08:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:10:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:10:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:10:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:10:03 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:10:10 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:10:10 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:15:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:15:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:15:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:20:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:20:02 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001] 2010-09-10 10:20:03 - ! [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001]Any ideas on how I can get rid of this error would be most appreciated. Thanks guysRegardsMatt

Transaction log file growth

Posted: 09 Jun 2013 09:34 PM PDT

HI everybody.We backup our log files every 10 mins. 3 days ago we had an incident where users where complaining of 'timous' or slow/poor response times. We use monitoring software and i have since discovered that our monitoring software had stopped monitoring the server in question so i was not alerted to any issues. There is no info in the error logs other than the usal log every 10 mins of a succesfull backup. I can see that the transaction log file is sized at 2Gb and has CURRENTLY 99.5% free. I am looking for a way to see if the file had to auto grow during the reported time of poor performance but unforrtunately the individual log file backups have now been deleted. Is there a way of checking this from a dmv ? Or the first LSN and last LSN which is recorded in the error logs ?

SSRS and Report Parts

Posted: 10 Jun 2013 05:05 AM PDT

Does anyone have experience developing SSRS reports in the following way.A co-worker wants to build "parts" of a report and then merge them into the final report.Normally I don't see a problem with that but the reports are such that it shows an item per page in a multi item report, so we have to embed parts inside each other at multiple levels. There's a hierarchy in the body. He suggests that we build "parts" using TVF in the dataset and then merge the parts, re-writting the sql script by joining the TVF from the child part to the parent dataset. We would do this multiple times since there will be multiple parts. Then we can tweak the child parts we added to make the final report look and behave like what we needed it to.His goal is to make "reusable" parts for other reports but the layout is unknow for any future reports, if any. We are also using custom codes and custom assemblies in the reports so we would have to copy those over manually as well.And it's not a simple report. It's actually a form with detailed product information. Imagine a form for a car product.parent level is the car (i.e. model)child is components such as steering system, fuel system.Parts under that as steering wheel, fuel pump.Then part details like leather steering wheel, electronic fuel pump. etc..Feedback on this process would be appreciated.

The size of a table. (space_used against calculated space).

Posted: 09 Jun 2013 11:42 PM PDT

With sp_space_used you get the 'gross' size of a table. (Used_size for data)Summing all fields with a datalength function also gives a size for a table, offcourse this is without the overhead.The used_size is about 2 to 3 times the calculated size.[b]So how can I calculate the size more accurately?[/b]Thanks for your time and attention.ben brugmanExtra info:This was calculated for heaps and clusters (90 percent fill rate), both were similar.No deleted rows.From 30 to 75 columns for each table, with a lot of NULL's.Overhead was 3 to 5 bytes for each field.(180 to 280 bytes of overhead for each row).

Resource Governor - How to Trace Events

Posted: 10 Jun 2013 04:05 AM PDT

I am trying to set up an automatic email when a user in a resource group goes over a threshhold. I found the resource governor event REQUEST_MAX_CPU_TIME_SEC that according to the documentation does exactly what I'm trying to do. (The reference is following.) I have set the event in the resource governor, but cannot figure out how to trace the event. I did not see the event in SQL profiler and have not been able to find any examples of this. I'm just beginning with the resource governor. I think I may be tracking down the wrong thing because everything I've found doesn't seem to relate to trapping the event and sending an email.The documentation says:1.Set a limit on CPU usage for the ad hoc group. (DONE)2.Monitor SQL Trace events (Resource Governor management class event). (???)3.Perform an action on the event. For example, ignore the event, send an e-mail, send a page, or execute the KILL command on the request. (???)http://msdn.microsoft.com/en-us/library/bb933944(v=sql.105).aspxAny help is appreciated.-Brian

Is it okay for these files to be deleted if it's eating up a lot of space?

Posted: 10 Jun 2013 03:03 AM PDT

I have some files(SQLAGENT.1, SQLAGENT.2, SQLDump.mdmp, SQLDump.log and SQLAGENT.OUT) in one of the drive under the [b]LOG[/b] folder and taking a lot of the space.Is it okay to delete some of these older files? Can someone please explain what these files does?SueTons.

Event log errors from non-valid IP addresses: SSPI handshake failed.

Posted: 10 Jun 2013 01:48 AM PDT

I get this error in the event log for MS SQL 2008 SP1:SSPI handshake failed with error code 0x8009030c, state 14 while establishing a connection with integrated security; the connection has been closed. Reason: AcceptSecurityContext failed. The Windows error code indicates the cause of failure. [CLIENT: 14.200.19.3]. I have received this error 32 times in the last 24 hours. The Client IP address changes, but they all seem to be from India when I look it up. There's no way that there anyone valid from India who is trying to log in. How can I prevent these attacks? They don't get in, I want it to be rejected before it even gets to my server.

Optimizer Execution plan.

Posted: 10 Jun 2013 01:58 AM PDT

I have a Parameterized Stored procedure that has a query with some joins and use of temp table and UNION.When I run the query for the first time in SSMS it runs for 55 secs , however, any subsequent run completes in 5 secseven if I change the parameter values... seems optimizer creates the execution plan and re-uses it subsequently.When I repeat the same action after few hours or in another session (new SPID) then it runs for 55 secs again in first run and subsequently 5 secs, no matter how many times I run it. Why is SQL Server flushing the Query plan out in new session... how can I make it cache the execution plan until optimizer finds a good reason to regenerate one like a new Index or change of columns etc...

Use of not exists

Posted: 09 Jun 2013 11:50 PM PDT

HiI need to get the data from my "live" load table that does not exist in my archive_loadTrying:select count([Live_Key]) FROM [LOAD_SCHED] as T1 WHERE NOT EXISTS (SELECT T2.[Arch_Key] FROM [Arch_LOAD] AS T2 where T2.[Arch_Key] = T1.[Live_Key]) Results in the exact same posts asselect count([Live_Key]) FROM [LOAD_SCHED] as T1There are 9402 records, but about 7500 allready exist in the arch table, thus I would expect only 2000 rows from my first queryIf I replace with NOT IN I get 0 rows in returnAny comments on why?BrDJ

Database Virtualisation Tool

Posted: 03 Jun 2013 11:52 PM PDT

Hi,I would like to know if anyone has come across or used Delphix virtualised tool?Thanks

Back up

Posted: 10 Jun 2013 12:16 AM PDT

What is the use of WITH CHECKSUM in backup statement?

SSIS Package Error

Posted: 10 Jun 2013 12:22 AM PDT

User is again getting error when he executed an SSIS package..he wants to transffer 9Lakh records from SQL database to Excel 2007The package runs well & so the data about 5Lakhs from tables are getting transffered to Excle file but after 5 Lakh the below error comes, also find the attached error file.[SSIS.Pipeline] Warning: Warning: Could not open global shared memory to communicate with performance DLL; data flow performance countes are not available. To resolve, run this package as an administrator, or on the system's console.Please suggest :w00t:

Foreignkey based primary key reocrd insert SSIS

Posted: 09 Jun 2013 10:35 PM PDT

Dear all, I am balamurugan,new for ssis.we have sql server source & destination is oracle.we need to implement the following steps in ssis:1. SQL to ORACLE record insert ===> its completed.2.SQL to ORACLE --->we need to check forign key of table based record in primary key table if record available the foreign key table record move to oracle table.if record is not in primary key table we give retry job until records(retry time is 5 ) received in PK table.(referencial integrity constriant check).3. how to load balance the records for insert.EX: in source we have 1lak records we need to insert the 1000(set limit 1000 ) records vise versa..please help on this????????????

ctrl+tab quits working in SSMS

Posted: 09 Jun 2013 10:28 PM PDT

Something I have done has disabled ctrl+tab from working. I don't want to restart SSMS, as I have numerous tabs open.Is there a way to reset it so that ctrl+tab works again? Also, what is the key sequence I did to cause this?I have tried "reset window layout" -- didn't help. ctrl+F6 still works.

No comments:

Post a Comment

Search This Blog