We are new to SQL 2000, and would like to bounce a couple questions off some of you gurus out there.
We are using SQL Server 2000 to build a data repository to assist us in transitioning from our old flatfile legacy system to SAP. We are also looking to use the SQL Server 2000 repository to build a smallish Enterprise Data Warehouse on the same SQL 2000 platform.
Here is our problem:
We have SQL Server 2000 loaded on a little scrapper PC with 1.4GHZ single processor, 1GB of memory, and a single 40 GB IDE drive.
When we are initially loading any of our repository tables the process cruises along pretty well, even respective of trying to locate the record for update before doing an insert. But, if we do something as simple as selecting count(*) against the table that's loading, performance on the load goes to its knees.
We understand we're pretty much at the mercy of the hardware we have (that's the budget), but we'd like to get as much bang as we can out of what's there.
Our questions are:
1. Is there anything we can do with our server configuration (short of new hardware) that will help us?
2. Are there any recommendations as far as monitors to help us better tune this specific configuration?
I want to create an MS Access front-end for my SQL database. I want to create user accounts with passwords for each user. Should I change SQL Server to "MIXED authentication mode" (SQL Server authentication and Windows authentication) ?
******************************************** *** Thank you very much in advanced, security gurus *** ********************************************
1. How can I Put all the Q documents from Microsoft that are related to SQL server? So that I can search fast.
2. How can I search SWYNK for all the ANSWERS that MAK/CRAIG/RAY replied to the threads. Its so weird that I answered someone and now I forgot the answer what I posted. Now I am having the same problem. I cant search.
3. I wanna put all SWYNK's Questions responses in one database say SQLSERVER, so that I can search all the threads.
We have a production database that sits on a 4 proc server with 4 GB of memory and SAN disk storage via fiber. There are some stored procedures that run and they take approximately 10 minutes to run. A developer has SQL Server installed on his local pc that has 1 2.5 GHz processor and 2 GB of memory and the stored procedures run in approximately 2 minutes. I have updated statistics and rebuilt indexes to no avail. He is questioning why it runs so much faster on his smaller pc compared to the production environment. I have monitored CPU, Memory, and Disk Queue Length and none of these performance counters look concerning to me while the stored procedures are running.
Can anyone out there give me some input on what I could check to figure out why we are experiencing this performance difference?
I have a stored procedure that takes less than 1 second in sql query analyzer to return my results. I run this same SP in ASP.NET using a calendar control and using perf monitor I notice that for me from my dev machine my cpu utilization is sometimes over 40%.Is there any tweaks I can do to help decrease CPU utilization.
I have downloaded an evaluation copy of a SQL Server performance tool (a fancy version of the Profiler) called Speed Coefficient from Imceda. Pretty interesting so far, but some questions are forthcoming (and probably will continue to come as I drill down and learn more about performance thangs).
It tells me I have a recompilation that I did not expect, it says the reason is "object not found at compile time, deferred to run time", but doesn't do too well at specifically telling me which object it is complaining about (yeah, not REALLY a complaint, but perhaps more a "mention", but I digress...)
I thought originally it was, perhaps, an object that I had not referenced correctly, but as it turns out, it is, I believe, referring to a global temporary table one of my procs creates. Upon further reflection/introspection, it makes sense to me that this is the case, since it won't HAVE the temp table object to kick around until it is created at run time.
Does this make sense? If so, I guess this is one of those times where the tool just makes reference to a possible issue, but it's up to the user to understand what the underlying cause of the "mention" is, and to determine if it is "OK" to have the recompilation occur.
I 'inherited' a group of SQL Server server class machines. They aretrue server technology but the disk sub-systems are lacking. There isone hot-swap backplane that all the drives share (with one SCSIchannel) thusly even though there are three logical drives (composedfrom 6 to 8 hard drives), they all go through one channel. This iscreating a performance issue that is noticable and can be seen invarious performance counters that Microsoft recommended one shouldmonitor in terms of disk I/O. For a cheaper 'fix', I can add aseperate two drive bay (with its own SCSI channel) with mirroreddrives. I would then mostly likely place the transaction log files onthis new channel. Or I could place the indices filegroup files onthis new channel for DBs with mainly searching going on (not muchupdating). If I went this route I would be leaning towards thetransaction log move since the second method would require me movingDBs around quite a bit. Any input on this solution (besides spendingmore money)?What I would prefer to do is get a better server class machine or addan external drive bay solution (not a SAN). I would try to get threeor four SCSI channels in the new hardware to split the differentfile/filegroups out (i.e. transaction logs files, data filegroup,indices filegroup, etc.). My only concern here is: would this moreexpensive solution be worth the money? As far as replacing servers, Ihave only two kinds of experience...replacing somewhat underpoweredservers with slightly less underpowered servers and replacing overkillservers with even more overkill servers. In both cases, the disksub-systems were fairly equivalent from the old system to the new one.Will going the three/four channel route really get data moving along?We have one server in particular that hosts a database (one of many onit) for a web application that gets decent traffic (it is a privatelogin based system for internal use and external use by our clients'agents). Periodically throughout the day, there are 2-5 minute burstswhere performance slows to a crawl. I want to spend more timeprofiling queries and such before recommending we spend more money,but the folks I am working for want quick results and there is quite abit of stored procedure logic to profile and investigate. I know thedisk sub-system is definately in need of an overhaul, but I would liketo get an idea of peformance gains from adding either one additionalchannel over the existing single channel as well as going thethree/four channel route over the existing single channel setup.Any information would be greatly appreciated.Regards,Tony
My boss has a crazy idea that he want to implement using SQL 2005 and ASP.NET 2. Its something like this... If a user retrieve a record and someone is updating that same record a control on a asp.net page would warn that user that its being updated. Just like a stop light, green for go, yellow for warning, and red for stop. Were implementing optimistic here not pessimistic. Is this possible? I know pessimistic can lock that certain record. But what about in optimistic? Is it possible to monitor or know if a certain record or row in SQL 2005 is being access, updated, and deleted? How?
Hi,I have a table in which two fields(FirstID, SecondID) together make theprimary key for the table. Let's look at the following example:FirstID SecondID******* ********2 22 32 55 55 78 79 1011 12Here is what I am trying to do. For a given FirstID (say, 2) find allSecondID with this FirstID (2,3,5). Now for these second ID's is therea FirstID other than 2? (Yes, 5). I would say FirstID=2 is related toFirstID = 5. Extending the logic FirstID = 5 is related to FirstID = 8.I am trying to write a SQL (some kind of self join, I think) which willgive me all related FirstID for a given First ID. For First ID = 2 theSQL will give me 5 and 8 in the above example. For First ID = 9 the SQLwill give me 11.Any help will be greatly appreciated. Thanks!!-Raj
Hi guys,we has accidently restored our Database with a back up file created months ago. we have no back up for the huge data and Stored procedures ( I know it is very stupid :( and i m sad abt it all ), guys is there any way by which i can get restore my db back to what it was before restoration.the flks in team have also deleted(shift + delete) the transaction log file ( I know it is very stupid again :( and i m very sad abt it all )..please adviceThanx in advance ashish
We need to return the results of a query as a single string.For example if the query returns 10 rows,all the 10 rows should be concatenated and put it in an output @returnstring. Is that possible in SQL stored procedures ?? Thanks!
There is no inherent mechanism available in SQL Server (replication, log shipping, or clustering) which allows you to load balance you database server. Clustering is only useful for a failover situation and does not allow active/active balancing.
Is is possible to use merge replication between two identical OLTP servers and manage transactions via MSMQ? Will this mechanism allow for a load balanced OLTP server?
Will this work? If not, why not? What will work? Will federated servers work for an entire database??
I need to determine the differences between two tables with the same structure. The primary key for these tables would be a combination of all the columnhs. They use the ID field to join all their records. (i know ID is a reserved word - the client made the tables) Below is the structure of the tables.
TableA and TableB ----------
ID int ComBank int inboth int EqorMA int TranType int
I need to know the rows that Are different in TableA from TableB.
I'm trying to insert a MSWord/Bitmap/Powerpoint file into a table in SQL 2000. Unfortunately, I haven't had the luck to get it work. Here is my table structure :
i realize i am starting to ask a lot of questions here so, thanks to all who tolerate me.
In my previous post, i figured out (with the help of r937) how to create a non-identity column using a cursor. I now have some resulting questions.
1. where do cursors live? there is no folder like triggers or stored procedures. is a cursor its own file or is it embedded in a stored procedure?
2. how do i get my cursor to "act" upon my stored procedure? I want the values in my cursor's "relativeposition" column to replace the values in my stored procedure's photo_number column. how do i do this?
The Scenario:We have some data that can be in three states. One is a saved state,a temporary state, and a complete state.The complete state is the bulk of the data. This data will berequested 1% of the time, maybe even less.The saved state and temporary state will only number 10-15 records.This data will be used 99% of the time, very frequently.So to summarize there will be 10-15 records that will be used ALL thetime…. And 50,000-100,000 that will be used very infrequently.The programmer that I work with wants to combine the tables. I wantto keep the tables sepperate.My logic is that it will be much faster to work with 10-15 recordsthan sift threw 50-100k most of which are unnecessary to 99% of therequests. Also there are frequent deletions/modifications in thetemporary table(10-15 records). The complete table can NOT havemodifications or deletions (50-100k records). The optimization forthese tables is also very different.He says that since the structures are almost identical they should bein the same table, that we should just use a field to denote thedifferent types of records. He insists that my view is wrong and thatI know nothing about databases.I may be new to SQL, but am I really that out to lunch? Would it notmake sense to keep these tables separate?(Thank you for taking the time to read this)Sat
I am not good at SQL - hence here goesConsider this scenario of 2 tables X and Y with a many to manyrelationshipTable X (name,weightage)X1 2X2 1X3 5X4 1Table Y (name ,attrib)Y1 attrib1Y2 attrib2Y3 attrib3Y4 attrib4Relationship table Z (id,id)X1 Y1X1 Y2X2 Y1X3 Y1X3 Y2X3 Y4X4 Y4So based on Z the distribution (count of Y/ Total Y ) is likeY1 = 100*3/7 Y2=100*2/7 Y3=100*0/7 Y4=100*2/7Now I want to factor in the weighatge column in X alsoSoX1 Y1 2*1X1 Y2 2*1X2 Y1 1*1X3 Y1 5*1X3 Y2 5*1X3 Y4 5*1X4 Y4 1*1Sum: 21Given these tables ,How would I factor in the weights and get thedistribution in a single SQL query.Desired Output of SQL QueryId AttribDistrib--------------------------------Y1 attrib1 100*8/21Y2 attrib2 100*7/21Y3 attrib3 0Y4 attrib4 100*6/21ThxJP
I have a SQL2005 table that I'm needing to export to a 'formatted' csv flat-file to emulate a mainframe output. I'm new to SSIS so don't beat me up to bad... The current output of my ssis csv file is as follows:
Basically I need to pad the first 2 columns with trailing spaces to a fixed width of 11 characters, 3rd column convert number format and pad to fixed 5, 4th column pad to fixed 3, 5th column add double quotes around 20 character fixed. 6th column add double quotes around and pad to fixed 2. Finally adding a , 0 to each row which is used a LF/CR.
Any feedback in regards to getting pointed in the right direction would be greatly appreciated...
I have a problem.. My code below works fine but when I want to add user to the database, it gives me error. I added this part u = Membership.GetUser(User.Identity.Name) nice = u.ToString()
and it gives error here MyCmd.ExecuteNonQuery()
Thanks Protected Sub Submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Submit.Click Dim name, address, nice As StringDim sConnString, sSQL As String Dim u As MembershipUser 'Receiving values from Form, assign the values entered to variablesname = Request.Form("name")address = Request.Form("address") u = Membership.GetUser(User.Identity.Name) nice = u.ToString() 'comments = Request.Form("comments")'declare SQL statement that will query the database sSQL = "INSERT into test (name, address, user) values ('" & _ name & "', '" & address & "', '" & nice & "')" 'define the connection string, specify database'driver and the location of database sConnString = ConfigurationManager.ConnectionStrings("aspnetdbConnectionString1").ConnectionString.ToString() 'create an ADO connection object Using MyConnection As New System.Data.SqlClient.SqlConnection(sConnString)Dim MyCmd As New System.Data.SqlClient.SqlCommand(sSQL, MyConnection) MyConnection.Open() MyCmd.ExecuteNonQuery()End Using Response.Write("The form information was inserted successfully.") End Sub End Class
Are many days that I've a problem with a matrix.... I hope that somebody can help me :-(( CREATE TABLE [dbo].[Matrice]( [ID] [int] IDENTITY(1,1) NOT NULL, [IDProfilo] [int] NULL, [IDAttivita] [int] NULL, [CodiceCompetenza] [varchar](2) COLLATE Latin1_General_CI_AS NULL, [ObiettivoAttivita] [int] NULL, [PesoCompetenza] [int] NULL, CONSTRAINT [PK_Matrice] PRIMARY KEY CLUSTERED ( [ID] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]in this table I've a matrix with ... for each profile ... IDAttivita e CodiceCompetenzain the row I've a list of activites (3) and for each activity I've an "ObiettivoAttivia"in the columns I've all "CodiceCompetenza"In excel I have a table like thisAttività - Obiettivo attività - SM - CO - CM - CTatt 1 - 4 - ...att 2 - 3 - ...att 3 - 2 - ..."Obiettivo attività " is the same for all SM - CO - CM - CT of the same "Attività "In my SQL table I've[IDAttivita] row[CodiceCompetenza] column[ObiettivoAttivita] one for each activity[PesoCompetenza] row/column valuethis is an example:in my external table I'veProfile116 IDProfiloActivities1 att 12 att 23 att 3CompetenzeSMCOCMCTINSERT INTO Matrice VALUES (116,1,'SM',4,1)INSERT INTO Matrice VALUES (116,1,'CO',4,2)INSERT INTO Matrice VALUES (116,1,'CM',4,3)INSERT INTO Matrice VALUES (116,1,'CT',4,1)INSERT INTO Matrice VALUES (116,2,'SM',3,1)INSERT INTO Matrice VALUES (116,2,'CO',3,1)INSERT INTO Matrice VALUES (116,2,'CM',3,2)INSERT INTO Matrice VALUES (116,2,'CT',3,2)INSERT INTO Matrice VALUES (116,3,'SM',2,1)INSERT INTO Matrice VALUES (116,3,'CO',2,3)INSERT INTO Matrice VALUES (116,3,'CM',2,4)INSERT INTO Matrice VALUES (116,3,'CT',2,1)with these inserts I see that:attività 1 has "obiettivo attivita" 4attività 2 has "obiettivo attivita" 3attività 3 has "obiettivo attivita" 2my problem:I calculate the "valore peso" ... the product (obiettivo attivita * PesoCompetenza) for each rowNow I've to to sum all "valore peso" of the same "CodiceCompetenza"I will havefor SM4*1=13*1=32*1=2Total SM 9for CO4*2=83*1=32*3=6Total CO 17...Total CM 26Total CT 12now I've to se a variable @range_massimo = 4and calculate the "Max" variable as a sum of all "obiettivi attività " * @range_massimo(I've to consider only the 3 different activities for the "obiettivo attivita" and not all 12 activities of the matrix)"Max" will be:(4*4)+(3*4)+(2*4) = 36 -> "Max"The final step is Total / Max(for each Total of my Competenza)Total SMTotal COTotal CMTotal CT...(9/36)*100 = 25(17/36)*100 = 47,2(26/36)*100 = 72,2(12/36)*100 = 33,3now * @range_massimo /100(25*4)/100= 1,0(47,2*4)/100=1,9(72,2*4)/100=2,9(33,3*4)/100=1,3I hope you can help me!!Please note that I will have dinamic IDAttivita and CodiceCompetenza for each IDProfilo!Thanks
Hi, I need help in joining 2 tables. This is not a regular 2 table join. it's little bit more complicated. Below is the working query I use. it gets the data I need. The problem I am having is joining the query below with another table.
----------------------- SELECT BuddyID FROM (SELECT TOP 10 BuddyID FROM (SELECT TOP 20 BuddyID FROM Buddies Where UserID = 100025 ORDER by BuddyID) as a ORDER by BuddyID DESC) as b ORDER by BuddyID ---------------
the query above will give me the BuddyID for about 75 records. I want to join the BuddyID on the "Buddies" table to the BuddyID on the "Users" table. I just don't know where to put "INNER JOIN Buddies ON Users.BuddyID = Buddies.BuddyID"
Some of my jobs hang at FTP step for several hours until some one kills the FTP (it's a perl process) on the box. Is there a way to find how much time a particular step of the job is executing? and know it by somehow if it's hanging at that step?? If we know this,I want to kill the perl process(FTP) on the box in an automated way whenever the job hangs! Any ideas welcome!! Thanks. :-)
Hello! I have push transactional replication to set up. I have 2 publisher’s servers with tables, which replicate data in the same table on subscriber. Tables on both publishers already have data. When I set up replication between first publisher and subscriber Snapshot of existing data was done, so I didn't miss any data from the First publisher table. But I don't have idea what to do with second publisher, because if I will make snapshot it will overwrite the data have been replicated from First publisher. If I won't make snapshot I will miss already existing data in second publisher. I have headache. Can you help me to resolve the problem?
4 days ago we had a Server crash luckily we have the daily full database backups...Since the server which was crashed is unusable I installed SQL 7.0 on another machine...I tried to restore databases from our backup tapes...Here is the T-SQL I am running:
restore database pentatel from tape='.ape0' with file=2,move 'PentaTel_dat' TO 'D:mssql7datapentatel.mdf', move 'pentatel_log' to 'D:mssql7datapentatel.ldf'
The error message I am getting is:
Processed 8992 pages for database 'pentatel', file 'PentaTel_dat' on file 2. Processed 1 pages for database 'pentatel', file 'PentaTel_log' on file 2. Server: Msg 9004, Level 21, State 1, Line 1 The log for database 'pentatel' is corrupt.
Connection Broken
After these when I look at the SQL Enterprise manager I see that the database is in loading status...I left it in that status for hours but there was no reaction...So I tried to detach and attach a single file.Here are the TSQLs and Error messages...
Server: Msg 945, Level 14, State 2, Line 1 Database 'pentatel' cannot be opened because some of the files could not be activated. Server: Msg 1813, Level 16, State 2, Line 1 Could not open new database 'pentatel'. CREATE DATABASE is aborted.
We have 7 backups and I tried all of them...Same error messages...
When I try to change the status from loading to emergency or normal the database is always inaccessible
I are running these statements
exec sp_configure 'allow',1 reconfigure with override update sysdatabases set status=32768 where db_id=6
and I stop and start the Mssql7 service but still inaccessible
Any idea???
I despretaly need help...Any recomendation is greatly apreciated...
Hi, I am positive some SQL Gurus can help me with this complicated query. I am not sure if it is possible with a single query or needs multiple queries.
I have 3 objects. First, PaintOrder; Second, Combination; and Third, Material. Each Paint Order can have multiple Combinations and each Combination can have multiple (from 0 to 5) Materials. All the data is stored in single table called paintMatCom.
I have a Search Screen where user can select multiple Materials (upto 5) to search for the appropriate PaintOrders. Also, use has the option to select AND/OR between materials. Please look at the attached image for clear understanding.
Some of the sample searches are as follows (Combination IDs are not needed in the Output; just PaintOrder IDs). 1. Find PaintOrders with MaterialIDs 1 AND 2 OR 4 2. Find PaintOrders with MaterialIDs 2 OR 3 OR 4 3. Find PaintOrders with MaterialIDs 3 AND 4 OR 5 OR 1
Hope you got the idea. I think it would require some Joins and GROUP BY which I am not expert at. I would appreciate any help.
[IMG]C:Documents and SettingsOwnerDesktopmaterials.JPG[/IMG]