Showing posts with label perform. Show all posts
Showing posts with label perform. Show all posts

Tuesday, March 27, 2012

Do I need to set a Drillthrough action to have Reporting Services perform a drillthrough?

Hi,

Do I need to set a Drillthrough action to have Reporting Services perform a drillthrough? Or are they two separate things?

To be clearer, is the point of the Drillthrough action (or any of the actions) only for the Cube Browser is AS2005 or are they used elsewhere, i.e. Reporting Services?

Thank you.

Gumbatman

I was also curius on whether reporting services support drillthrough or not, and found the following link. I guess, they don't.

http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=126175

P.S. You don't mandatory need to have an DT action to use a Drillthrough statement.

|||

Irinia,

Thank you for the information. It is a great help. I was pulling my hair out trying to find an answer.

-Gumbatman

|||

A few clarifications:

- Drillthrough and other actions are often used in applications beyond just the AS 2005 cube browser.

- This MSDN paper describes the configuration of a drillthrough action:

http://msdn2.microsoft.com/en-us/library/ms345125.aspx

>>

Enabling Drillthrough in Analysis Services 2005

...

Analysis Services 2005 introduces a new action type called Drillthrough. The target of a drillthrough action can only be cells in the cube. The MDSCHEMA_ACTIONS schema rowset exposes these as rowset actions. The action expression is a DRILLTHROUGH statement that can be executed by the client application and the resulting rowset displayed to the user.

Clearly drillthrough fits in very cleanly into the actions framework. But the real advantage of drillthrough actions is that it provides the cube designer with the ability to pre-define the return columns of the DRILLTHROUGH statement (Figure 2). This is analogous to the Analysis Services 2000 experience where the database administrator specifies the tables and columns in the Drillthrough Options dialog in Analysis Manager.

...

>>

- Reporting Services has its own concept of "drillthrough" within a report (see paper excerpt below), so I assume that you're only referring to reporting the results of an Analysis Services drillthrough query.

- Though the Analysis Services Provider doesn't support AS drillthrough queries, the older OLE DB Provider still does, as mentioned in this OLAP newsgroup thread:

http://groups.google.com/group/microsoft.public.sqlserver.olap/msg/4870097ed8fcffda

>>

Message from discussion Linked Server to Analysis Services 2005 gets Access denied.

How about trying the OLE DB option? I couldn't get the following AW
Drillthrough query to work with the RS 2005 Analysis Services Provider;
but it returned 8 records when I used OLE DB for OLAP 9.0 instead:

Drillthrough
Select [Ship Date].[Calendar].[Calendar Year].&[2001] on columns,
[Customer].[Customer Geography].[State-Province].&[TAS]&Automobile on rows
from [Adventure Works]
where [Measures].[Internet Order Quantity]
>>

- For guidance on setting up AS drillthrough in Reporting Services using OLE DB, you can refer to this MSDN paper (even though it was written for SQL Server 2000):

http://msdn2.microsoft.com/en-us/library/aa902647(SQL.80).aspx

>>

Integrating Analysis Services with Reporting Services

...

Adding "Drill-through" Capability to a Report

The concept of "drill-through" can mean different things depending on the technology being used. For those familiar with Analysis Services, drill-through represents the ability to return the detail records that contribute to the value of a cell. For Reporting Services, "drill-through" is the capability to jump from one report to another report when the user selects an action-enabled object on the report. It's quite possible to develop a report that uses the drill-through action type for Reporting Services to issue an Analysis Services DRILLTHROUGH MDX query, and it's also possible to use the drill-through action type of Reporting Services to return a report that returns data from Analysis Services without using the DRILLTHROUGH MDX statement. Sound confusing? Hopefully a couple of examples can help us understand the difference between the two, and how the two concepts can also be used together.

...

>>

|||

Deepak,

Thank you so much for the information. It has clarified a bunch of things that I was having trouble getting my head around. There just didn't seem to be enough information about this. Plus, with Report Builder, it seems to do an "auto" drillthrough but I can't figure out how to control which fields are returned.

I am going to read all the information you sent.

Thanks again.

-Gumbatman

sql

Sunday, March 25, 2012

Do I need stop Agents during primary Server power down?

Hi,
Does anyone can tell that our production primary site need perform server
power down, and I have the databases transactional replication with push
setup on primary site? The secondary site will run all the time. Before,
primary site perform the power down, do I need stop the Log Reader and
Distribution Agents? What if I am not stopping those agents?
Regards,
Chen
You will be fine. Transactional replication replicates transactionally. So
if you power off in the middle of something, when it starts up again, it
will pick up where it left off.
Hilary Cotter
Looking for a SQL Server replication book?
Now available for purchase at:
http://www.nwsu.com/0974973602.html
"Chen" <Chen@.discussions.microsoft.com> wrote in message
news:D91896AE-5BF7-47FA-A0D7-D4BFC0CAF422@.microsoft.com...
> Hi,
> Does anyone can tell that our production primary site need perform server
> power down, and I have the databases transactional replication with push
> setup on primary site? The secondary site will run all the time. Before,
> primary site perform the power down, do I need stop the Log Reader and
> Distribution Agents? What if I am not stopping those agents?
> Regards,
> Chen
>
sql

Monday, March 19, 2012

dml without generating log transactions ?

Hi There

I know the answer to this is probably no, but had to ask anyway.

Is there a way to perform a dml statement without generating anything in the transaction log ?

The reason i ask is that i have a database that uses simply recovery model, however i need to move a 1 billion row table to this DB, i know that even though it is in simple recovery it is one transaction, it will be written to the log until committed then the space will be released in the log file.

I am using a simple: insert into DW_DB..table select * from DB..other_table.

I have dropped all indexes before the operation.

However this is a big problem, the log for the db in simple recovery that i am moving the data to grew to 128 Gig and the disk ran out of space, the other drives on the machine do not have much space.

Is there a way i can move the billion row table into the new DB without generating such a huge log ?

Thanx

Hi There

Part 2 for the question:

The transaction has rolled back, however there is still 27 gigs space used in the transaction log, there are no open transactions in the db, the db is in simple recovery, i cannot backup the log as it is simple recovery, what is this 27 gigs in the transaction and how do i clear it ?

Thanx

|||

Please ignore my second comment, this problem went away after checkpointing the database, however any feedback ont he original post would be greatly appreciated.

Thanx

|||You can use select into command which is bulk operation and it is minimally logged in the case of simple recovery model.|||Thank you , this worked perfectly.

Sunday, March 11, 2012

Division operator

I'm trying to perform a simple mathematical operation on an integer. The integer is the result of the COUNT() function, I need to divide this by a number, say 5, and then round up that number.

For example, if the result of the operation was 52.4, it would become 53, if it were 52.6 it would be 53 and If it were 52, it would remain 52.

Is this kind of functionality built in to T-SQL ?

The main problem I'm having is that the result of COUNT(blah)/5 returns an integer, and ignores the remainder.

Thanks,
PaulIf you look up "division" in BOL you will get a better understanding of what is happenig.

you might try "cast(count(blah) as float)/5"

Wednesday, March 7, 2012

Divide By 0

I am having some issues with expressions as I am attempting to perform the
following:
iif(budget=0,0,actual/budget)
it seems that regardless of the expression all clauses are evaluated.
The actual expression is as follows:
=iif( Sum(Fields!BudgetMTD.Value, "DepartmentDetGrp")=0,0,
Sum(Fields!ActualMTD.Value, "DepartmentDetGrp")/ Sum(Fields!BudgetMTD.Value,
"DepartmentDetGrp"))
Any suggestions to get around this?IIF is a function call which evaluates all arguments - hence the division by
zero.
Change the call to use the following pattern to avoid the issue:
=IIF(budget=0, 0, actual / IIF(budget = 0, 1, budget))
-- Robert
This posting is provided "AS IS" with no warranties, and confers no rights.
"David Fuller" <DavidFuller@.discussions.microsoft.com> wrote in message
news:14E1BFB1-3D84-449F-819C-3C1C5DBD9288@.microsoft.com...
>I am having some issues with expressions as I am attempting to perform the
> following:
> iif(budget=0,0,actual/budget)
> it seems that regardless of the expression all clauses are evaluated.
> The actual expression is as follows:
> =iif( Sum(Fields!BudgetMTD.Value, "DepartmentDetGrp")=0,0,
> Sum(Fields!ActualMTD.Value, "DepartmentDetGrp")/
> Sum(Fields!BudgetMTD.Value,
> "DepartmentDetGrp"))
> Any suggestions to get around this?

Friday, February 17, 2012

Distributed transaction with clustering server

I can't perform a distributed transaction between a remote
server to the central server.
I have 3 sql server 2000 enterprise edition. 2 of them are
installed on win2K server (LOCAL1, LOCAL2) and the other
(CENTRAL_SQL) is installed on clustering win2K server.
None of them is in domain.
Linked servers are defined well between them and I can
perform select statement from any server to any other
server.
I can also perform a distributed transaction between the
remote servers, from LOCAL1 to LOCAL2 and contrarily:
set xact_abort on
begin distributed tran
select count(*) from
LOCAL1.tempdb.INFORMATION_SCHEMA.TABLES
commit
set xact_abort off
MSDTC service starts up with local system account or other
administrators belonging account.
I can also ping the local servers from the central and
even manage them using the Active Directory.
When I perform a distributed transaction between a remote
server (LOCAL1 or LOCAL2) and the central server I get an
error:
Server: Msg 7391, Level 16, State 1, Line 5
The operation could not be performed because the OLE DB
provider 'SQLOLEDB' was unable to begin a distributed
transaction.
[OLE/DB provider returned message: New transaction cannot
enlist in the specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].
What am I doing wrong?
Thanks,
Yuval Peleg
DBA, Nice SystemsLook for the following entry in the SQL Server errorlog:
Attempting to initialize Distributed Transaction Coordinator.
Is there an error after it?
If so, have you run comclust on both nodes of the cluster to make MSDTC
cluster aware?
I not run it on both nodes and then take SQL Server off line and back on
line. Then try your query.
Rand
This posting is provided "as is" with no warranties and confers no rights.|||There is a masage before it:
"Using dynamic lock allocation. [2500] Lock Blocks, [5000] Lock Owne
r
Blocks."
I run comclust on both nodes.
Thanks,
Yuval Peleg
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!

Distributed transaction with clustering server

I can't perform a distributed transaction between a remote
server to the central server.
I have 3 sql server 2000 enterprise edition. 2 of them are
installed on win2K server (LOCAL1, LOCAL2) and the other
(CENTRAL_SQL) is installed on clustering win2K server.
None of them is in domain.
Linked servers are defined well between them and I can
perform select statement from any server to any other
server.
I can also perform a distributed transaction between the
remote servers, from LOCAL1 to LOCAL2 and contrarily:
set xact_abort on
begin distributed tran
select count(*) from
LOCAL1.tempdb.INFORMATION_SCHEMA.TABLES
commit
set xact_abort off
MSDTC service starts up with local system account or other
administrators belonging account.
I can also ping the local servers from the central and
even manage them using the Active Directory.
When I perform a distributed transaction between a remote
server (LOCAL1 or LOCAL2) and the central server I get an
error:
Server: Msg 7391, Level 16, State 1, Line 5
The operation could not be performed because the OLE DB
provider 'SQLOLEDB' was unable to begin a distributed
transaction.
[OLE/DB provider returned message: New transaction cannot
enlist in the specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].
What am I doing wrong?
Thanks,
Yuval Peleg
DBA, Nice Systems
Look for the following entry in the SQL Server errorlog:
Attempting to initialize Distributed Transaction Coordinator.
Is there an error after it?
If so, have you run comclust on both nodes of the cluster to make MSDTC
cluster aware?
I not run it on both nodes and then take SQL Server off line and back on
line. Then try your query.
Rand
This posting is provided "as is" with no warranties and confers no rights.
|||There is a masage before it:
"Using dynamic lock allocation. [2500] Lock Blocks, [5000] Lock Owner
Blocks."
I run comclust on both nodes.
Thanks,
Yuval Peleg
*** Sent via Developersdex http://www.codecomments.com ***
Don't just participate in USENET...get rewarded for it!

Distributed Transaction takes far too long

Hi all,

I would like to perform an
INSERT INTO LINKEDSVR.dbo.xyz.abc
SELECT ... FROM dbo.dfg

where LINKEDSVR is a linked server on another machine. Both servers are
running SQLServer 2000 and have the DTC running.

When I run this batch from QueryAnalyzer without explicitly using
transactions, it works well (takes about 5 sec) - however, when I
enclose it using
begin [distributed] tran/commit tran
the query runs forever.

I also tried to use the local server as linked server (loopback) but it
did not work either.

Any suggestions?

Thanks,
JoHi Jo

You don't really give much information to work on! I assume that running
forever means that it has not completed? Therefore you may want to profile
the query to see what is exactly happening. You may also want to try
OPENQUERY or OPENROWSET instead.

I would expect the loop back to fail as you can not use them in a
distributed transaction. From BOL:
Loopback linked servers cannot be used in a distributed transaction.
Attempting a distributed query against a loopback linked server from within
a distributed transaction causes an error:

Msg: 3910 Level: 16 State: 1
[Microsoft][ODBC SQL Server Driver][SQL Server]Transaction context in use by
another session.John
"Jo Siffert" <jo.siffert@.gmx.net> wrote in message
news:cpm67p$t4d$1@.zeppelin.rz.uni-potsdam.de...
> Hi all,
> I would like to perform an
> INSERT INTO LINKEDSVR.dbo.xyz.abc
> SELECT ... FROM dbo.dfg
> where LINKEDSVR is a linked server on another machine. Both servers are
> running SQLServer 2000 and have the DTC running.
> When I run this batch from QueryAnalyzer without explicitly using
> transactions, it works well (takes about 5 sec) - however, when I
> enclose it using
> begin [distributed] tran/commit tran
> the query runs forever.
> I also tried to use the local server as linked server (loopback) but it
> did not work either.
> Any suggestions?
> Thanks,
> Jo|||Jo Siffert (jo.siffert@.gmx.net) writes:
> I would like to perform an
> INSERT INTO LINKEDSVR.dbo.xyz.abc
> SELECT ... FROM dbo.dfg
> where LINKEDSVR is a linked server on another machine. Both servers are
> running SQLServer 2000 and have the DTC running.
> When I run this batch from QueryAnalyzer without explicitly using
> transactions, it works well (takes about 5 sec) - however, when I
> enclose it using
> begin [distributed] tran/commit tran
> the query runs forever.

Have you checked for blocking? I have a recollection that distributed
transactions are by default seriliazable, which have more concurrency
problems.

Use sp_who (on both servers) and keep an eye on the Blk column. A non-
zero value in that column means that this spid is blocking the spid
on this row. And if this spid is your distributed transaction, you bave
the reason.

--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se

Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techin.../2000/books.asp

distributed transaction error - help urgent

i have two remote servers connected to each other through the linked servers.

i can run querries or even perform inserts as far as its not inside a transaction
but when i am trying to run distribted transaction but it keeps on returning the same msg.

Server: Msg 7391, Level 16, State 1, Line 3
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].

i have configured the firewall, made sure the DTC service is started on both and enabled. they both have the same Sp packs, same config.http://www.experts-exchange.com/Databases/Microsoft_SQL_Server/Q_20888629.html

Go Google the error...there are probably a lot of reasons...|||1)are u using Microsoft Windows Server 2003 as OS? if it is,check this site,

http://support.microsoft.com/default.aspx?scid=kb;en-us;329332&Product=sql